134
homelab/containers-context.md
Normal file
134
homelab/containers-context.md
Normal 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).
|
||||
Reference in New Issue
Block a user