# Контекст по контейнерам (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 -- ...` или `pct enter `. --- ## 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).