Docs/docs/14-ai.md

139 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🤖 Взаимодействие с нейросетями (AI)
Документ описывает правила и якоря для эффективного общения с ИИ-ассистентами при администрировании сервера Olimp.
> **Цель**: стандартизировать запросы к нейросетям, чтобы получать точные, готовые к исполнению инструкции без лишней теории.
перед вопросом вставить ниже идущий якорь
```
# 🖥️ SERVER: Olimp (Proxmox VE) — INFRASTRUCTURE ANCHOR
- **Admin**: zailon / zailon | **User**: zevs
- **Domain**: zailon.ru (внешний доступ) | **Laptop управления**: BunkerZ (192.168.1.101)
- **Virtualization**: Proxmox VE 9.0.11 (KVM + LXC), Debian 12-based, kernel `6.14.11-4-pve`
- **Network**: 192.168.1.0/24, bridge vmbr0 (Realtek RTL8111/8168)
- **Reverse Proxy**: LXC 201 (Nginx Proxy Manager + Let's Encrypt)
- **Backup Server**: Olimpbs (192.168.1.199) — Proxmox Backup Server
## 🔧 HARDWARE SPECS
| Компонент | Модель / Характеристики |
|-----------|------------------------|
| **Материнская плата** | MSI H310M PRO-VD (MS-7B33), BIOS 1.E0 (2024) |
| **CPU** | Intel Core i7-8700, 6 ядер / 12 потоков, 3.24.6 GHz, UHD 630 |
| **RAM** | 2×16 GB DDR4 Samsung, 2667 MHz (32 GB total) |
| **System SSD** | 2× Intel SSDSC2KB240G8 (240 GB SATA) — ZFS mirror (`rpool`) |
| **Fast Storage** | Intel SSDSC2KB960G8L (960 GB SATA) — LVM `vmsystem` |
| **Bulk Storage** | LSI MegaRAID 9260-8i, RAID6: 4× Seagate ST8000NM0075 (8 TB SAS) → 14.55 TB usable |
| **PSU** | Formula AC SX-400, SFX, 400W |
| **Case** | Jonsbo N4 NAS, Micro-ATX |
## 💾 STORAGE POOLS
| Pool | Type | Device | Total | Used | Free | Purpose | Status |
|------|------|--------|-------|------|------|---------|--------|
| `local` | ZFS dir | 2×240 GB SSD (mirror) | 128 GB | 3.4 GB (3%) | 124 GB | Proxmox OS, ISO, templates | ✅ Healthy |
| `vmsystem` | LVM-thin | 960 GB SSD | 930 GB | 459 GB (49%) | 471 GB | System disks for VM/LXC | ✅ Healthy |
| `files` | LVM-thin | RAID6 14.55 TB HDD | 14.55 TB | 14.23 TB (91%) | 1.39 TB | Media, games, books, photos | 🟡 Low space |
| `olimpbkp` | PBS remote | Proxmox Backup Server | 939 GB | 103 GB (11%) | 788 GB | Daily backup target | ✅ Healthy |
| `extbkp` | PBS local | External HDD 1 TB (ext4) | 916 GB | ~0 GB | 916 GB | Weekly full copy (offline) | ✅ Ready |
## 💻 RESOURCES (actual)
| Resource | Total | Used | Free | Notes |
|----------|-------|------|------|-------|
| **RAM** | 32 GB | ~23 GB | ~7.7 GB avail | +4 GB ZVOL swap (`/dev/zd0`) |
| **Swap** | 4 GB | 3.8 GB used | 191 MB | 🟡 High usage — monitor pressure |
| **CPU** | 6 cores / 12 threads | variable | - | Default `cpuunits`, no hard limits |
| **Storage I/O** | SSD for system, HDD for data | - | - | Critical services on `vmsystem` |
## 📦 RUNNING SERVICES
### LXC Containers (active)
| ID | Name | RAM | Swap | Purpose | Key Docker Services | Storage |
|----|------|-----|------|---------|-------------------|---------|
| 201 | gateway | 2 GB | 1 GB | Reverse proxy, dashboard | npm, heimdall, homarr | vmsystem |
| 202 | data | 2 GB | 512 MB | Files, web apps | mealie, bookstack, vaultwarden, kiwix, nginx-static | files |
| 203 | media | 5 GB | 1 GB | Media server | jellyfin, metube, audiobookshelf, ampache (+DB) | files: 8.69 TB @96% |
| 204 | photo | 4 GB | 1 GB | Photo management | immich (server, ML, postgres, redis) | files: 200 GB @88% |
| 206 | talk | 1 GB | 512 MB | Communication | snikket (4 svc), mumble-server | files |
| 207 | games | 15 GB | 4 GB | Game servers | valheim-server | files: 4 TB @98% |
| 208 | manage | 3 GB | 1 GB | Monitoring, remote access | grafana, victoriametrics, loki, promtail, vmagent, meshcentral, xray | files: 7 GB @100% |
| 209 | git | 1 GB | 512 MB | Git server | gitea + postgres (https://gitea.zailon.ru) | vmsystem |
| 210 | ansible | 1 GB | 512 MB | Automation | Ansible CLI only (no Docker), repo from Gitea | vmsystem |
| 211 | torrent | 1 GB | 512 MB | Downloads | qbittorrent, torrserver | vmsystem |
| 212 | mail | 4 GB | 2 GB | Mail server | mailcow (postfix, dovecot, sogo, rspamd, clamav, unbound, redis, mysql, nginx) | files |
### Виртуальные машины (QM) — локальные
| ID | Name | RAM | Disk | Purpose | Storage |
|----|------|-----|------|---------|---------|
| 205 | nextcloud | 4 GB | 10 GB | Cloud storage | vmsystem |
| 213 | vpn | 2 GB | 12 GB | VPN stub + Nextcloud stub (redirect only) | files |
### 🌍 Внешняя инфраструктура
| Хост | IP | RAM | Disk | Purpose | Key Services |
|------|----|-----|------|---------|-------------|
| **OlimpVPN (Финляндия)** | 2.27.50.20 | 2 GB | 40 GB | Внешний VPN-шлюз, обход блокировок | 3X-UI, Xray (VLESS+Reality), Certbot |
| **Olimpbs (PBS)** | 192.168.1.199 | - | - | Proxmox Backup Server | `olimpbkp` (primary), `extbkp` (weekly copy) |
## 🔧 CONFIGURATION MANAGEMENT
- **Ansible host**: LXC 210 (`/opt/servers/Olimp/`)
- **Git repo**: Gitea on LXC 209 (`https://gitea.zailon.ru/zailon/Servers_EXPO`)
- **Ansible vault**: password in `~/.ansible_vault_pass` on ansible host
- **SSH auth**: key-based for Gitea, vault for secrets
- **Deployment**: `ansible-playbook -i inventories/hosts olimp-deploy.yml`
## 🔐 SECURITY & ACCESS
- All public services → NPM (201) → SSL via Let's Encrypt
- Internal services: LAN-only (192.168.1.0/24)
- SSH: key-based, no password for automation
- Gitea: offline mode (`OFFLINE_MODE=true`), no external API calls
## 📈 MONITORING
- Stack: VictoriaMetrics + Grafana + Loki + Promtail (LXC 208)
- Access: https://grafana.zailon.ru (via NPM)
```
Якорь Документация
```
#selfhost:docs
## Роль
Написание технической документации для домашнего сервера Olimp.
## Формат Markdown
1. Первый блок: ```markdown (ОБЯЗАТЕЛЬНО!)
2. Внутри документа: все блоки кода &&&bash, &&&yaml, &&&nginx, &&&text
3. ЗАПРЕЩЕНО: &&&markdown
## Структура документации
docs/
├── 01-hardware.md — 14-ai.md (существующие файлы)
├── services/
│ ├── lxc201-gateway/ (npm.md, heimdall.md, homarr.md)
│ ├── lxc202-data/ (bookstack.md, mealie.md, vaultwarden.md, kiwix.md, nginx-static.md)
│ ├── lxc203-media/ (jellyfin.md, metube.md, audiobookshelf.md, ampache.md)
│ ├── lxc204-photo/ (immich.md)
│ ├── lxc206-talk/ (snikket.md, mumble.md)
│ ├── lxc207-games/ (valheim.md)
│ ├── lxc208-manage/ (grafana.md, victoriametrics.md, loki.md, vmagent.md, meshcentral.md, xray.md)
│ ├── lxc209-git/ (gitea.md)
│ ├── lxc210-ansible/ (ansible.md)
│ ├── lxc211-torrent/ (qbittorrent.md, torrserver.md)
│ └── lxc212-mail/ (mailcow.md)
└── vms/
├── vm205-nextcloud.md (полноценное облако)
└── vm213-vpn-stub.md (заглушка)
## Требования к документам
- Подробно, по шагам, чтобы новичок смог повторить
- Только ручная установка (Ansible пока не пишем)
- В конце: полезные команды, решение проблем, безопасность
- Стиль: технический, но понятный
- Примеры: реальные конфиги с сервера Olimp
## Контекст
- Сервер: Olimp (192.168.1.1)
- LXC контейнеры: 201-212 (192.168.1.201-212)
- VM: 205 (Nextcloud), 213 (VPN stub)
- Внешний доступ: через NPM (LXC 201) + Let's Encrypt
```