Initial homelab docs

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-23 16:47:17 +03:00
commit ce731c28da
53 changed files with 6943 additions and 0 deletions

View File

@@ -0,0 +1,134 @@
# Контекст по контейнерам (Proxmox LXC)
## Общая схема
| ID | Назначение | IP | Заметки |
|-----|-------------------|----------------|---------|
| 100 | NPM, Homepage, лог-дашборд | 192.168.1.100 | Шлюз/дашборды |
| 101 | **Nextcloud** | 192.168.1.101 | — |
| 103 | **Gitea** | 192.168.1.103 | Gitea + PostgreSQL + act_runner (Gitea Actions). Порт 3000, SSH 2222. |
| 104 | Paperless-ngx | 192.168.1.104 | docs.katykhin.ru |
| 107 | Invidious | 192.168.1.107 | video.katykhin.ru |
| 108 | Galene | 192.168.1.108 | call.katykhin.ru |
| 200 | Immich (VM) | 192.168.1.200 | KVM, immich.katykhin.ru |
**Хост Proxmox:** `192.168.1.150`
Вход на контейнеры — с хоста через `pct exec <ID> -- ...` или `pct enter <ID>`.
---
## CT 101 — Nextcloud
### Как попасть
1. **С твоей машины на хост Proxmox:**
```bash
ssh root@192.168.1.150
```
*(пароль хоста — у тебя)*
2. **С хоста — в контейнер 101:**
```bash
pct enter 101
```
Либо выполнить одну команду без входа в shell:
```bash
pct exec 101 -- <команда>
```
*(пароль root в CT 101 — если включён и задан; часто тот же, что на хосте, или без пароля при `pct enter` с хоста)*
3. **По сети (веб):**
- Внутри сети: `http://192.168.1.101:8080`
- Снаружи: `https://cloud.katykhin.ru` (прокси через NPM на 100).
### Что внутри CT 101
- **Docker Compose** с тремя сервисами:
- **nextcloud** — порт `8080:80`
- **db** — PostgreSQL 16
- **redis** — кэш/очереди
- **Рабочая директория Compose:** `/opt/nextcloud`
Файл в репо: `homelab/nextcloud/docker-compose-101.yml` — на сервере обычно как `docker-compose.yml` в `/opt/nextcloud`.
- **Systemd-сервис:** `docker-nextcloud.service`
Запуск/остановка: из контейнера 101:
```bash
systemctl start docker-nextcloud # или restart/stop
```
Либо вручную:
```bash
cd /opt/nextcloud && docker compose up -d
```
### Креды (из репозитория)
- **PostgreSQL (внутри CT 101):**
- DB: `nextcloud`
- User: `nextcloud`
- Password: `nextcloud`
*(из `docker-compose-101.yml`)*
- **Nextcloud (приложение):**
Подключается к БД теми же кредыми. Админ-пользователь Nextcloud (логин/пароль веб-интерфейса) задаётся при первом запуске в UI — в репо не хранятся.
- **Redis:** без пароля (только внутри Docker-сети).
### Пути и конфиги внутри CT 101
- Данные PostgreSQL: `/mnt/nextcloud-data/pgdata`
- Данные Nextcloud (файлы, конфиг): `/mnt/nextcloud-data/html`
- Доп. том: `/mnt/nextcloud-extra`
- PHP uploads: `/opt/nextcloud/php-uploads.ini` (лимиты 64G, 2G memory и т.д. — см. `homelab/nextcloud/php-uploads.ini`)
### Полезные команды (на хосте 192.168.1.150)
```bash
# Войти в CT 101
pct enter 101
# Логи Nextcloud
pct exec 101 -- bash -c 'cd /opt/nextcloud && docker compose logs -f nextcloud'
# Статус контейнеров
pct exec 101 -- docker ps
# Перезапуск стека Nextcloud
pct exec 101 -- bash -c 'cd /opt/nextcloud && docker compose restart'
```
### Чего нет в репо (нужны тебе локально)
- Пароль `root` на Proxmox (192.168.1.150)
- Пароль `root` в CT 101 (если включён логин по паролю)
- Логин/пароль админа Nextcloud (веб-интерфейс)
---
## CT 103 — Gitea
### Как попасть
1. С хоста Proxmox: `pct enter 103` или `pct exec 103 -- <команда>`.
2. По сети (веб): `http://192.168.1.103:3000` (только LAN, домен не настроен).
### Что внутри CT 103
- **Docker Compose** в `/opt/gitea` (файл в репо: `homelab/gitea/docker-compose-103.yml`):
- **server** — Gitea, порты 3000 (HTTP), 2222 (SSH)
- **db** — PostgreSQL 16 (Alpine)
- **runner** — act_runner (Gitea Actions), использует Docker хоста
- Токен регистрации раннера задаётся в `.env` (см. `homelab/gitea/.env.example`). Получить: Администрирование → Actions → Runners → Registration token.
### Полезные команды (на хосте 192.168.1.150)
```bash
pct enter 103
pct exec 103 -- bash -c 'cd /opt/gitea && docker compose ps'
pct exec 103 -- bash -c 'cd /opt/gitea && docker compose logs -f runner'
```
### Создание контейнера 103
Инструкция и параметры (LXC 103, 1 core, 2 GB RAM, 15 GB на local-lvm, IP 192.168.1.103): см. [homelab/gitea/README.md](gitea/README.md).