Delete directory 'knowledge-base'
This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
# База знаний Open WebUI
|
||||
|
||||
Данная база знаний создана для использования в Open WebUI (v0.10.2) и содержит документацию по инструментам управления инфраструктурой, конфигурационные сведения и чаты.
|
||||
|
||||
## Структура
|
||||
|
||||
- `tools/` — документация по инструментам для Proxmox VE и TrueNAS
|
||||
- `configuration/` — конфигурация и настройки Open WebUI и связанных систем
|
||||
- `chats/` — экспортированные чаты (заполняется пользователем)
|
||||
|
||||
## Инструменты
|
||||
|
||||
База знаний включает следующие инструменты:
|
||||
|
||||
### Proxmox Tools (Kybinka)
|
||||
- Управление LXC-контейнерами (создание, запуск, остановка, удаление)
|
||||
- Управление VM (клонирование из шаблона, создание из ISO)
|
||||
- Мониторинг (ноды, хранилище, ресурсы, задачи)
|
||||
|
||||
### Proxmox Tools (PVE1)
|
||||
- Аналогичный набор инструментов для сервера PVE1 (192.168.31.4)
|
||||
|
||||
### TrueNAS Tools
|
||||
- Мониторинг системы, пулов ZFS, дисков
|
||||
- Управление приложениями (Apps), VM, контейнерами
|
||||
- Просмотр алертов
|
||||
|
||||
## Использование в Open WebUI
|
||||
|
||||
Для импорта в Open WebUI:
|
||||
1. Откройте админ-панель → Knowledge → Create Collection
|
||||
2. Загрузите файлы из папок `tools/` и `configuration/`
|
||||
3. Для чатов: экспортируйте их из Open WebUI и поместите в папку `chats/`
|
||||
|
||||
## Конфигурация по умолчанию
|
||||
|
||||
### Proxmox Kybinka (192.168.31.2)
|
||||
- Нода: `pve`
|
||||
- Шаблон VM: VMID 1000
|
||||
- Мост: `vmbr0`
|
||||
|
||||
### Proxmox PVE1 (192.168.31.4)
|
||||
- Нода: `pve1`
|
||||
- Шаблон VM: VMID 999
|
||||
- Мост: `vmbr0`
|
||||
|
||||
### TrueNAS (192.168.31.100)
|
||||
- URL: `http://192.168.31.100`
|
||||
- Кэширование: 30 секунд
|
||||
@@ -1,68 +0,0 @@
|
||||
# Экспорт чатов из Open WebUI
|
||||
|
||||
## Способ 1: Экспорт через интерфейс (если доступно)
|
||||
1. Откройте Open WebUI
|
||||
2. Перейдите в чат
|
||||
3. Найдите опцию "Экспорт" или "Export" (если доступна)
|
||||
4. Сохраните чат в формате Markdown или JSON
|
||||
5. Поместите файл в текущую папку `chats/`
|
||||
|
||||
## Способ 2: Экспорт через базу данных SQLite
|
||||
|
||||
Open WebUI хранит чаты в SQLite базе данных внутри контейнера.
|
||||
|
||||
### Шаг 1: Найдите путь к базе данных
|
||||
В контейнере Open WebUI база обычно находится по пути:
|
||||
- `/app/backend/data/webui.db`
|
||||
- или `/data/webui.db`
|
||||
|
||||
### Шаг 2: Скопируйте базу данных из контейнера
|
||||
```bash
|
||||
docker cp ix-open-webui-open-webui-1:/app/backend/data/webui.db ./webui.db
|
||||
```
|
||||
|
||||
### Шаг 3: Экспортируйте чаты
|
||||
Используйте SQLite-клиент для экспорта таблиц `chat` и `message`:
|
||||
|
||||
```bash
|
||||
sqlite3 webui.db
|
||||
```
|
||||
```sql
|
||||
.mode markdown
|
||||
.output chats_export.md
|
||||
SELECT * FROM chat;
|
||||
.quit
|
||||
```
|
||||
|
||||
Или используйте Python-скрипт:
|
||||
|
||||
```python
|
||||
import sqlite3
|
||||
import json
|
||||
|
||||
conn = sqlite3.connect('webui.db')
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Получить список чатов
|
||||
cursor.execute("SELECT id, name, created_at FROM chat")
|
||||
chats = cursor.fetchall()
|
||||
|
||||
for chat_id, chat_name, created_at in chats:
|
||||
print(f"## Чат: {chat_name} (ID: {chat_id})")
|
||||
|
||||
# Получить сообщения чата
|
||||
cursor.execute("SELECT role, content, created_at FROM message WHERE chat_id = ? ORDER BY created_at", (chat_id,))
|
||||
messages = cursor.fetchall()
|
||||
|
||||
for role, content, msg_time in messages:
|
||||
print(f"**{role}** ({msg_time}): {content}")
|
||||
print("\n---\n")
|
||||
|
||||
conn.close()
|
||||
```
|
||||
|
||||
## Способ 3: Использование API Open WebUI (если включён)
|
||||
Open WebUI имеет REST API для работы с чатами. Обратитесь к документации Open WebUI для получения токена авторизации.
|
||||
|
||||
## После экспорта
|
||||
Поместите экспортированные чаты в папку `chats/` репозитория и загрузите их в базу знаний Open WebUI через интерфейс администратора.
|
||||
@@ -1,67 +0,0 @@
|
||||
# Конфигурация Open WebUI и инфраструктуры
|
||||
|
||||
## Open WebUI
|
||||
- **Версия:** v0.10.2
|
||||
- **Развёртывание:** Docker-контейнер в TrueNAS Apps
|
||||
- **Имя контейнера:** `ix-open-webui-open-webui-1`
|
||||
- **Доступ:** через интерфейс TrueNAS
|
||||
|
||||
## Интеграции
|
||||
|
||||
### Proxmox VE (Kybinka)
|
||||
- **Хост:** 192.168.31.2:8006
|
||||
- **Нода:** `pve`
|
||||
- **Токен API:** `open-webui` (в Proxmox)
|
||||
- **Инструменты:** `proxmox_tools.py`
|
||||
|
||||
### Proxmox VE (PVE1)
|
||||
- **Хост:** 192.168.31.4:8006
|
||||
- **Нода:** `pve1`
|
||||
- **Токен API:** `open-webui` (в Proxmox)
|
||||
- **Инструменты:** `proxmox_tools_pve1.py`
|
||||
|
||||
### TrueNAS (WTR PRO)
|
||||
- **IP:** 192.168.31.100
|
||||
- **URL:** `http://192.168.31.100`
|
||||
- **Модель:** WTR PRO
|
||||
- **Серийный №:** Default string
|
||||
- **CPU:** AMD Ryzen 7 5825U with Radeon Graphics (8C/16T)
|
||||
- **RAM:** 62 GiB DDR4
|
||||
- **ОС:** TrueNAS Community Edition 25.10.5 (Goldeye)
|
||||
- **Загрузка:** EFI
|
||||
- **API:** REST API v2.0
|
||||
- **Инструменты:** `truenas_tools.py`
|
||||
|
||||
## Сеть
|
||||
- **Домен:** nasweb.ru (Gitea)
|
||||
- **Open WebUI:** доступ через Docker, WebSocket из Docker недоступен (используется HTTP)
|
||||
- **TrueNAS REST API:** HTTP, порт 80
|
||||
|
||||
## Хранилища TrueNAS
|
||||
|
||||
### Пools
|
||||
| Имя | Тип | Диски | Занято |
|
||||
|-----|-----|-------|--------|
|
||||
| `tank` | Stripe? | 1x WD05PURX 465.8GB (sda) | 16.2% |
|
||||
| `backup` | Stripe? | 1x WD20EFAX 2TB (sdb, 5400rpm) | 23.9% |
|
||||
| `ssd` | Mirror | nvme0n1 (ADATA 1.9TB) + nvme2n1 (Samsung 2TB) | 8.0% |
|
||||
| `video` | Stripe? | 1x WD05PURX 465.8GB (sda) | 0.45 TiB |
|
||||
|
||||
### Trim
|
||||
- Включён на пуле `ssd`
|
||||
|
||||
### Дополнительные диски
|
||||
- `nvme1n1` — CUSU CV3500M 512GB, свободен
|
||||
|
||||
## Репликации ZFS (все успешны)
|
||||
- `tank/media` → `backup/media`
|
||||
- `tank/nextcloud` → `backup/document`
|
||||
- `tank/movies` → `backup/movies`
|
||||
- `ssd/virtual` → `backup/virtual`
|
||||
- `ssd/virtual-iso` → `backup/virtual-iso`
|
||||
- `ssd/apps` → `backup/apps`
|
||||
|
||||
## Gitea
|
||||
- **Домен:** gitea.nasweb.ru
|
||||
- **Версия:** 1.27.0-rootless
|
||||
- **Репозиторий open-webui:** https://gitea.nasweb.ru/host/open-webui
|
||||
@@ -1,75 +0,0 @@
|
||||
# Справочник команд Open WebUI
|
||||
|
||||
## Proxmox Kybinka (192.168.31.2)
|
||||
|
||||
| Команда | Функция | Пример |
|
||||
|---------|---------|--------|
|
||||
| Статус подключения | `connection()` | "Проверь подключение к Proxmox" |
|
||||
| Список нод | `nodes()` | "Покажи ноды кластера" |
|
||||
| Статус ноды | `node_status(node="pve")` | "Статус ноды pve" |
|
||||
| Статус кластера | `cluster()` | "Статус кластера" |
|
||||
| Ресурсы | `resources(ftype="lxc")` | "Покажи LXC" |
|
||||
| Хранилища | `storage()` | "Покажи хранилища" |
|
||||
| Задачи | `tasks(limit=5, node="pve")` | "Последние задачи на pve" |
|
||||
| Список LXC | `lxc_list(node="pve")` | "Список LXC" |
|
||||
| Детали LXC | `lxc_detail(vmid=100, node="pve")` | "Детали LXC 100" |
|
||||
| Действие LXC | `lxc_action(vmid=100, action="start")` | "Запусти LXC 100" |
|
||||
| Создать LXC | `lxc_create(vmid=200, hostname="test", ostemplate="local:vztmpl/...")` | "Создай LXC 200" |
|
||||
| Список VM | `vm_list(node="pve")` | "Список VM" |
|
||||
| Детали VM | `vm_detail(vmid=900, node="pve")` | "Детали VM 900" |
|
||||
| Действие VM | `vm_action(vmid=900, action="start")` | "Запусти VM 900" |
|
||||
| Клонировать VM | `vm_create_from_template(vmid=901, name="new-vm", template_vmid=1000)` | "Клонируй шаблон 1000 в VM 901" |
|
||||
| Создать VM с ISO | `vm_create(vmid=902, name="debian", template_vmid=0, iso="local:iso/debian-12.iso")` | "Создай VM с ISO" |
|
||||
|
||||
## Proxmox PVE1 (192.168.31.4)
|
||||
|
||||
| Команда | Функция | Пример |
|
||||
|---------|---------|--------|
|
||||
| Статус подключения | `pve1_connection()` | "Проверь PVE1" |
|
||||
| Список нод | `pve1_nodes()` | "Ноды PVE1" |
|
||||
| Статус ноды | `pve1_node_status(node="pve1")` | "Статус pve1" |
|
||||
| Статус кластера | `pve1_cluster()` | "Кластер PVE1" |
|
||||
| Ресурсы | `pve1_resources(ftype="qemu")` | "VM на PVE1" |
|
||||
| Хранилища | `pve1_storage()` | "Хранилища PVE1" |
|
||||
| Задачи | `pve1_tasks(limit=5)` | "Задачи PVE1" |
|
||||
| Список LXC | `pve1_lxc_list(node="pve1")` | "LXC на PVE1" |
|
||||
| Детали LXC | `pve1_lxc_detail(vmid=100)` | "LXC 100 детали" |
|
||||
| Действие LXC | `pve1_lxc_action(vmid=100, action="stop")` | "Останови LXC 100" |
|
||||
| Создать LXC | `pve1_lxc_create(vmid=200, hostname="test", ostemplate="local:vztmpl/...")` | "Создай LXC на PVE1" |
|
||||
| Список VM | `pve1_vm_list(node="pve1")` | "VM на PVE1" |
|
||||
| Детали VM | `pve1_vm_detail(vmid=900)` | "VM 900 детали" |
|
||||
| Действие VM | `pve1_vm_action(vmid=900, action="reboot")` | "Перезагрузи VM 900" |
|
||||
| Клонировать VM | `pve1_vm_create_from_template(vmid=901, name="new-vm", template_vmid=999)` | "Клонируй шаблон 999" |
|
||||
|
||||
## TrueNAS (192.168.31.100)
|
||||
|
||||
| Команда | Функция | Пример |
|
||||
|---------|---------|--------|
|
||||
| Диагностика | `get_debug_info()` | "Диагностика TrueNAS" |
|
||||
| Очистка кэша | `clear_cache()` | "Очисти кэш" |
|
||||
| Статус системы | `get_system_status()` | "Статус системы" |
|
||||
| Пулы ZFS | `get_pools_status()` | "Покажи пулы" |
|
||||
| Диски | `get_disks_temp_and_info()` | "Покажи диски" |
|
||||
| Приложения | `get_apps_status()` | "Статус приложений" |
|
||||
| VM | `get_vms_status()` | "Виртуальные машины" |
|
||||
| Контейнеры | `get_containers_status()` | "Контейнеры" |
|
||||
| Алерты | `get_active_alerts()` | "Активные алерты" |
|
||||
| Полный отчёт | `get_full_report()` | "Полный отчёт TrueNAS" |
|
||||
|
||||
## Полезные параметры
|
||||
|
||||
### Создание LXC
|
||||
- **unpriv:** `true` — непривилегированный контейнер (рекомендуется)
|
||||
- **start_now:** `true` — запустить после создания
|
||||
- **wait:** `true` — дождаться завершения задачи
|
||||
|
||||
### Создание VM (клон)
|
||||
- **full:** `true` — полный клон (медленно, но независимый)
|
||||
- **full:** `false` — связанный клон (быстро, зависит от шаблона)
|
||||
- **agent:** `1` — включить QEMU guest agent
|
||||
|
||||
### Cloud-init
|
||||
Для VM из шаблона с cloud-init:
|
||||
- `ciuser="ubuntu"` — пользователь
|
||||
- `cipassword="password"` — пароль
|
||||
- `sshkeys="ssh-rsa ..."` — SSH ключи
|
||||
@@ -1,127 +0,0 @@
|
||||
# Proxmox Tools (Kybinka)
|
||||
|
||||
## Описание
|
||||
Инструменты для управления Proxmox VE на сервере Kybinka (192.168.31.2:8006).
|
||||
|
||||
## Настройки по умолчанию
|
||||
- **Proxmox host:** `https://192.168.31.2:8006`
|
||||
- **Пользователь API:** `root@pam`
|
||||
- **Нода по умолчанию:** `pve`
|
||||
- **Хранилище по умолчанию:** `local`
|
||||
- **Мост по умолчанию:** `vmbr0`
|
||||
- **VMID шаблона:** 1000
|
||||
- **Таймаут запросов:** 30 секунд
|
||||
|
||||
## Доступные функции
|
||||
|
||||
### connection()
|
||||
Проверка подключения к API Proxmox VE.
|
||||
|
||||
**Возвращает:** `OK Proxmox VE X.Y.Z | node: pve | host: https://192.168.31.2:8006` или `ERR <описание ошибки>`
|
||||
|
||||
### nodes()
|
||||
Список всех нод кластера с загрузкой CPU/RAM и аптаймом.
|
||||
|
||||
**Возвращает:** список нод со статусом, CPU, RAM, аптаймом.
|
||||
|
||||
### node_status(node=None)
|
||||
Подробный статус ноды: модель CPU, нагрузка, RAM, swap, диск, аптайм, ядро и версия PVE.
|
||||
|
||||
**Аргументы:**
|
||||
- `node` — имя ноды (по умолчанию: `pve`)
|
||||
|
||||
### cluster()
|
||||
Статус кластера: кворум и участники.
|
||||
|
||||
### resources(ftype="")
|
||||
Список всех ресурсов кластера (ноды, QEMU VM, LXC, хранилища).
|
||||
|
||||
**Аргументы:**
|
||||
- `ftype` — фильтр по типу: `"node"`, `"qemu"`, `"lxc"`, `"storage"` (пусто = все)
|
||||
|
||||
### storage()
|
||||
Список всех настроенных хранилищ с типами контента и занятостью.
|
||||
|
||||
### tasks(limit=10, node=None)
|
||||
Последние задачи на ноде.
|
||||
|
||||
**Аргументы:**
|
||||
- `limit` — максимальное количество задач
|
||||
- `node` — имя ноды (по умолчанию: `pve`)
|
||||
|
||||
### lxc_list(node=None)
|
||||
Список LXC-контейнеров на ноде.
|
||||
|
||||
### lxc_detail(vmid, node=None)
|
||||
Подробная информация о LXC-контейнере: ОС, CPU, RAM, диск, сеть, использование и аптайм.
|
||||
|
||||
**Аргументы:**
|
||||
- `vmid` — числовой ID контейнера
|
||||
- `node` — имя ноды (по умолчанию: `pve`)
|
||||
|
||||
### lxc_action(vmid, action, node=None)
|
||||
Управление жизненным циклом LXC.
|
||||
|
||||
**Аргументы:**
|
||||
- `vmid` — ID контейнера
|
||||
- `action` — одно из: `"start"`, `"stop"`, `"shutdown"`, `"restart"`, `"suspend"`, `"resume"`, `"delete"`
|
||||
- `node` — имя ноды (по умолчанию: `pve`)
|
||||
|
||||
### templates(storage=None, node=None)
|
||||
Список доступных шаблонов LXC в хранилище.
|
||||
|
||||
**Аргументы:**
|
||||
- `storage` — имя хранилища (по умолчанию: `local`)
|
||||
- `node` — имя ноды (по умолчанию: `pve`)
|
||||
|
||||
### lxc_create(...)
|
||||
Создание нового LXC-контейнера из шаблона.
|
||||
|
||||
**Основные аргументы:**
|
||||
- `vmid` — новый ID (не должен существовать)
|
||||
- `hostname` — имя хоста
|
||||
- `ostemplate` — ID шаблона, например `"local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst"`
|
||||
- `password` — пароль root (обязателен если нет sshkey)
|
||||
- `sshkey` — публичный SSH-ключ (обязателен если нет password)
|
||||
- `cores` — количество ядер (по умолчанию: 1)
|
||||
- `memory` — RAM в МБ (по умолчанию: 512)
|
||||
- `disk` — размер диска, например `"8G"` (по умолчанию: `"8G"`)
|
||||
- `ip` — IP-адрес или `"dhcp"` (по умолчанию: `"dhcp"`)
|
||||
- `netmask` — префикс маски (по умолчанию: 24)
|
||||
- `gw` — шлюз
|
||||
- `start_now` — запустить сразу (по умолчанию: `true`)
|
||||
|
||||
### vm_list(node=None)
|
||||
Список QEMU VM на ноде.
|
||||
|
||||
### vm_detail(vmid, node=None)
|
||||
Подробный статус VM.
|
||||
|
||||
### vm_action(vmid, action, node=None)
|
||||
Управление жизненным циклом VM.
|
||||
|
||||
### vm_create_from_template(...)
|
||||
Создание VM клонированием из шаблона (cloud-init).
|
||||
|
||||
**Основные аргументы:**
|
||||
- `vmid` — новый ID
|
||||
- `name` — имя VM
|
||||
- `template_vmid` — VMID шаблона (по умолчанию: 1000)
|
||||
- `full` — полный клон (`true`) или связанный (`false`)
|
||||
- `memory` — RAM в МБ
|
||||
- `cores` — ядра CPU
|
||||
- `ciuser` — пользователь cloud-init
|
||||
- `cipassword` — пароль cloud-init
|
||||
- `sshkeys` — SSH-ключи (через новую строку)
|
||||
|
||||
### vm_create(...)
|
||||
Создание VM (два режима: клон из шаблона или создание с ISO).
|
||||
|
||||
**Режим 1 (клонирование):**
|
||||
- `template_vmid` — VMID шаблона (по умолчанию: 1000)
|
||||
|
||||
**Режим 2 (ISO):**
|
||||
- `template_vmid=0`
|
||||
- `iso` — ID ISO, например `"local:iso/debian-12.iso"`
|
||||
- `ostype` — тип ОС, например `"l26"`
|
||||
- `agent` — включить QEMU guest agent (1/0)
|
||||
@@ -1,122 +0,0 @@
|
||||
# Proxmox Tools (PVE1)
|
||||
|
||||
## Описание
|
||||
Инструменты для управления Proxmox VE на сервере PVE1 (192.168.31.4:8006).
|
||||
|
||||
## Настройки по умолчанию
|
||||
- **Proxmox host:** `https://192.168.31.4:8006`
|
||||
- **Пользователь API:** `root@pam`
|
||||
- **Нода по умолчанию:** `pve1`
|
||||
- **Хранилище по умолчанию:** `local`
|
||||
- **Мост по умолчанию:** `vmbr0`
|
||||
- **Таймаут запросов:** 30 секунд
|
||||
|
||||
## Доступные функции
|
||||
|
||||
### pve1_connection()
|
||||
Проверка подключения к API Proxmox VE (PVE1).
|
||||
|
||||
**Возвращает:** `OK Proxmox VE X.Y.Z | node: pve1 | host: https://192.168.31.4:8006`
|
||||
|
||||
### pve1_nodes()
|
||||
Список всех нод кластера с загрузкой CPU/RAM и аптаймом.
|
||||
|
||||
### pve1_node_status(node=None)
|
||||
Подробный статус ноды: модель CPU, нагрузка, RAM, swap, диск, аптайм, ядро и версия PVE.
|
||||
|
||||
**Аргументы:**
|
||||
- `node` — имя ноды (по умолчанию: `pve1`)
|
||||
|
||||
### pve1_cluster()
|
||||
Статус кластера: кворум и участники.
|
||||
|
||||
### pve1_resources(ftype="")
|
||||
Список всех ресурсов кластера (ноды, QEMU VM, LXC, хранилища).
|
||||
|
||||
**Аргументы:**
|
||||
- `ftype` — фильтр: `"node"`, `"qemu"`, `"lxc"`, `"storage"` (пусто = все)
|
||||
|
||||
### pve1_storage()
|
||||
Список всех настроенных хранилищ с типами контента и занятостью.
|
||||
|
||||
### pve1_tasks(limit=10, node=None)
|
||||
Последние задачи на ноде.
|
||||
|
||||
**Аргументы:**
|
||||
- `limit` — максимальное количество задач
|
||||
- `node` — имя ноды (по умолчанию: `pve1`)
|
||||
|
||||
### pve1_lxc_list(node=None)
|
||||
Список LXC-контейнеров на ноде.
|
||||
|
||||
### pve1_lxc_detail(vmid, node=None)
|
||||
Подробная информация о LXC-контейнере: ОС, CPU, RAM, диск, сеть, использование и аптайм.
|
||||
|
||||
### pve1_lxc_action(vmid, action, node=None)
|
||||
Управление жизненным циклом LXC.
|
||||
|
||||
**Аргументы:**
|
||||
- `vmid` — ID контейнера
|
||||
- `action` — одно из: `"start"`, `"stop"`, `"shutdown"`, `"restart"`, `"suspend"`, `"resume"`, `"delete"`
|
||||
|
||||
### pve1_templates(storage=None, node=None)
|
||||
Список доступных шаблонов LXC в хранилище.
|
||||
|
||||
**Аргументы:**
|
||||
- `storage` — имя хранилища (по умолчанию: `local`)
|
||||
- `node` — имя ноды (по умолчанию: `pve1`)
|
||||
|
||||
### pve1_lxc_create(...)
|
||||
Создание нового LXC-контейнера из шаблона.
|
||||
|
||||
**Основные аргументы:**
|
||||
- `vmid` — новый ID (не должен существовать)
|
||||
- `hostname` — имя хоста
|
||||
- `ostemplate` — ID шаблона
|
||||
- `password` / `sshkey` — аутентификация
|
||||
- `cores` — ядра CPU (по умолчанию: 1)
|
||||
- `memory` — RAM в МБ (по умолчанию: 512)
|
||||
- `disk` — размер диска (по умолчанию: `"8G"`)
|
||||
- `ip` — IP или `"dhcp"` (по умолчанию: `"dhcp"`)
|
||||
- `netmask` — префикс маски (по умолчанию: 24)
|
||||
- `start_now` — запустить сразу (по умолчанию: `true`)
|
||||
|
||||
### pve1_vm_list(node=None)
|
||||
Список QEMU VM на ноде.
|
||||
|
||||
### pve1_vm_detail(vmid, node=None)
|
||||
Подробный статус VM.
|
||||
|
||||
### pve1_vm_action(vmid, action, node=None)
|
||||
Управление жизненным циклом VM.
|
||||
|
||||
**Аргументы:**
|
||||
- `vmid` — ID VM
|
||||
- `action` — одно из: `"start"`, `"stop"`, `"shutdown"`, `"restart"`, `"suspend"`, `"resume"`, `"delete"`
|
||||
|
||||
### pve1_vm_create_from_template(...)
|
||||
Создание VM клонированием из шаблона (cloud-init).
|
||||
|
||||
**Основные аргументы:**
|
||||
- `vmid` — новый ID
|
||||
- `name` — имя VM
|
||||
- `template_vmid` — VMID шаблона (по умолчанию: 999)
|
||||
- `full` — полный (`true`) или связанный (`false`) клон
|
||||
- `memory` — RAM в МБ
|
||||
- `cores` — ядра CPU
|
||||
- `storage` — целевое хранилище
|
||||
- `target_node` — целевая нода (если отличается)
|
||||
- `start_now` — запустить сразу
|
||||
- `ciuser` / `cipassword` / `sshkeys` — cloud-init параметры
|
||||
|
||||
### pve1_vm_create(...)
|
||||
Создание VM (клонирование из шаблона или создание с ISO).
|
||||
|
||||
**Режим 1 (клонирование):**
|
||||
- `template_vmid` — VMID шаблона (по умолчанию: 999)
|
||||
|
||||
**Режим 2 (ISO):**
|
||||
- `template_vmid=0`
|
||||
- `iso` — ID ISO
|
||||
- `ostype` — тип гостевой ОС (по умолчанию: `"l26"`)
|
||||
- `agent` — QEMU guest agent (1/0)
|
||||
@@ -1,122 +0,0 @@
|
||||
# TrueNAS Tools
|
||||
|
||||
## Описание
|
||||
Инструменты для мониторинга и управления TrueNAS (WTR PRO, 192.168.31.100) через REST API v2.0.
|
||||
|
||||
**Версия TrueNAS:** 25.10.5 (Goldeye)
|
||||
|
||||
## Настройки по умолчанию
|
||||
- **TrueNAS URL:** `http://192.168.31.100`
|
||||
- **API Key:** задаётся в настройках (Valves)
|
||||
- **Кэширование:** 30 секунд (0 = без кэша)
|
||||
|
||||
## Особенности
|
||||
- Автоматический перебор альтернативных путей API (v2.0)
|
||||
- Кэширование запросов для снижения нагрузки
|
||||
- Диагностика соединения (HTTP/HTTPS, SSL, таймауты)
|
||||
|
||||
## Доступные функции
|
||||
|
||||
### get_debug_info()
|
||||
Диагностика соединения с TrueNAS: проверяет базовый URL, HTTP/HTTPS, код ответа и текст ошибки для system/info.
|
||||
|
||||
**Использование:** когда API 'недоступен' и нужно понять, на каком этапе рвётся запрос.
|
||||
|
||||
**Возвращает:** отчёт о проверке подключения, включая пробу HTTP/HTTPS вариантов.
|
||||
|
||||
### clear_cache()
|
||||
Очистка кэша запросов.
|
||||
|
||||
### get_system_status()
|
||||
Статус системы TrueNAS: версия, аптайм, процессор, load average.
|
||||
|
||||
**Возвращает:**
|
||||
```
|
||||
🖥️ TrueNAS: X.Y.Z
|
||||
⏱️ Uptime: Xд Xч Xм
|
||||
🔧 Процессор: <модель>
|
||||
📊 Load Average: 1мин: X.XX, 5мин: X.XX, 15мин: X.XX
|
||||
```
|
||||
|
||||
### get_pools_status()
|
||||
Статус пулов ZFS.
|
||||
|
||||
**Возвращает:** список пулов с статусом, размером, процентом занятости.
|
||||
- ✅ — пул здоров
|
||||
- ⚠️ — проблемы с пулом
|
||||
|
||||
**Пример:**
|
||||
```
|
||||
✅ 'tank' | ONLINE | 0.45 TiB, 16.2% занято
|
||||
✅ 'backup' | ONLINE | 1.81 TiB, 23.9% занято
|
||||
```
|
||||
|
||||
### get_disks_temp_and_info()
|
||||
Информация о дисках: тип, модель, серийный номер, размер.
|
||||
|
||||
**Возвращает:** список дисков с основными параметрами.
|
||||
|
||||
### get_apps_status()
|
||||
Список установленных приложений (TrueNAS Apps, docker compose).
|
||||
|
||||
**Статусы:**
|
||||
- 🟢 RUNNING
|
||||
- ⚪ STOPPED
|
||||
- 🟡 DEPLOYING
|
||||
- 🔴 CRASHED
|
||||
- 🟠 STOPPING
|
||||
|
||||
### get_vms_status()
|
||||
Список виртуальных машин (libvirt/KVM).
|
||||
|
||||
**Возвращает:** имя, статус, vCPU, RAM, автозапуск.
|
||||
|
||||
### get_containers_status()
|
||||
Лёгкие контейнеры / инстансы (incus/virt, LXC-подобные).
|
||||
|
||||
**Возвращает:** имя, тип, статус, образ.
|
||||
|
||||
### get_active_alerts()
|
||||
Активные алерты системы.
|
||||
|
||||
**Уровни:**
|
||||
- 🔴 CRITICAL
|
||||
- 🟡 WARNING
|
||||
- 🔵 INFO
|
||||
|
||||
**Возвращает:** `✅ Все системы работают штатно.` или список алертов.
|
||||
|
||||
### get_full_report()
|
||||
Полный отчёт по всей системе TrueNAS.
|
||||
|
||||
**Включает:**
|
||||
- Система (статус, аптайм, CPU, load)
|
||||
- Пулы ZFS
|
||||
- Диски
|
||||
- Приложения
|
||||
- Виртуальные машины
|
||||
- Контейнеры
|
||||
- Алерты
|
||||
|
||||
## Текущая конфигурация системы
|
||||
|
||||
### Пools
|
||||
| Pool | Диски | Занято |
|
||||
|------|-------|--------|
|
||||
| `tank` | 1x WD05PURX 465.8GB (sda) | 16.2% |
|
||||
| `backup` | 1x WD20EFAX 2TB (sdb) | 23.9% |
|
||||
| `ssd` | mirror: nvme0n1 (ADATA 1.9TB) + nvme2n1 (Samsung 2TB) | 8.0% |
|
||||
| `video` | 1x WD05PURX 465.8GB (sda) | 0.45 TiB |
|
||||
|
||||
### Дополнительные диски
|
||||
- `nvme1n1` — CUSU CV3500M 512GB, свободен, не привязан к пулу
|
||||
|
||||
### Репликации (активные)
|
||||
- `tank/media` → `backup/media`
|
||||
- `tank/nextcloud` → `backup/document`
|
||||
- `tank/movies` → `backup/movies`
|
||||
- `ssd/virtual` → `backup/virtual`
|
||||
- `ssd/virtual-iso` → `backup/virtual-iso`
|
||||
- `ssd/apps` → `backup/apps`
|
||||
|
||||
Все репликации успешны.
|
||||
Reference in New Issue
Block a user