add hetzner server infrastructure files

This commit is contained in:
2026-04-26 20:37:10 +03:00
parent fe29fc1878
commit 2ddbf409b5
9 changed files with 279 additions and 5 deletions
+53
View File
@@ -0,0 +1,53 @@
# 🚀 Техническая документация: Инфраструктура Jambotron
## 🏗️ Общая архитектура
* **Сервер**: Hetzner (Helsinki) [cite: 1, 3]
* **IP**: 89.167.99.58 [cite: 1]
* **ОС**: Ubuntu [cite: 1, 3]
* **Локальная сеть Docker**: `jambotron-net` (External) [cite: 3, 5, 6, 7]
---
## 📦 Реестр контейнеров и доступов
| Контейнер | Образ | Внешний URL | Логин / Email | Пароль (Secret) |
| :--- | :--- | :--- | :--- | :--- |
| **caddy** | `lucaslorentz/caddy-docker-proxy:latest` [cite: 3] | — | — | — |
| **jambotron-app** | `jambotron-prod:latest` [cite: 2, 3] | `jambotron.com` [cite: 1, 3] | — | — |
| **jambo-postgres** | `postgres:15-alpine` [cite: 3, 6] | — | `jambotron_admin` [cite: 6] | `jambo_secret_pass` [cite: 6] |
| **jambo-pgadmin** | `dpage/pgadmin4` [cite: 3, 6] | `pgadmin.jambotron.com` [cite: 6] | `admin@jambotron.com` [cite: 6] | `your_secure_password` [cite: 6] |
| **gitea** | `gitea/gitea:latest` [cite: 3, 5] | `gitea.jambotron.com` [cite: 5] | `Liosha84` [cite: 1] | — |
| **db** (Gitea DB) | `postgres:15-alpine` [cite: 3, 5] | — | `gitea` [cite: 5] | `gitea_db_pass` [cite: 5] |
| **gitea-runner** | `gitea/act_runner:latest` [cite: 3, 5] | — | — | `ULMDH7Defx...` (Token) [cite: 5] |
| **portainer** | `portainer/portainer-ce:latest` [cite: 3, 7] | `manage.jambotron.com` [cite: 7] | `admin` [cite: 3] | — |
| **grafana** | `grafana/grafana:latest` [cite: 3] | `jambotron.com/monitor/` [cite: 3] | `admin` [cite: 3] | `monitorPWD` [cite: 3] |
| **prometheus** | `prom/prometheus:latest` [cite: 3] | — | — | — |
| **cadvisor** | `gcr.io/cadvisor/cadvisor:latest` [cite: 3] | — | — | — |
| **node-exporter** | `prom/node-exporter:latest` [cite: 3] | — | — | — |
---
## 🌐 Детальная конфигурация сети и томов
1. **Маршрутизация (Caddy)**:
* Caddy работает как `docker-proxy`, автоматически подхватывая лейблы других контейнеров через `docker.sock` [cite: 3].
* Для Grafana настроен путь `/monitor/` с `GF_SERVER_SERVE_FROM_SUB_PATH=true` [cite: 3].
* Portainer доступен через `manage.jambotron.com` на внутреннем порту `9000` [cite: 7].
2. **Хранение данных (Volumes)**:
* **База приложения**: Использует именованный том `jambo_db_data` [cite: 6].
* **Gitea**: Данные хранятся в `./data`, база — в `./db_data` [cite: 5].
* **Мониторинг**: Используются тома `caddy_data`, `prometheus_data`, `grafana_data` [cite: 3].
* **Portainer**: Данные в томе `portainer_data` [cite: 7].
3. **Интеграция CI/CD**:
* `gitea-runner` подключен к `docker.sock` для управления контейнерами во время сборки [cite: 5].
* Используется экземпляр `https://gitea.jambotron.com` [cite: 5].
---
## 🛠️ Стек технологий
* **Backend**: Spring Boot 3.5 [cite: 1]
* **Frontend**: Angular 17 [cite: 1]
* **Proxy**: Caddy с Docker Proxy Ingress [cite: 3]
* **Monitoring**: Prometheus + Grafana [cite: 3, 4]