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