Files
homelab-docs/homelab/containers-context.md
2026-02-23 16:47:17 +03:00

135 lines
5.1 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.
# Контекст по контейнерам (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).