add hetzner server infrastructure files
This commit is contained in:
@@ -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]
|
||||
Reference in New Issue
Block a user