# 🚀 Техническая документация: Инфраструктура 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]