Files
jambotron/INFRASTRUCTURE.md
T

3.3 KiB
Raw Blame History

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