3.3 KiB
3.3 KiB
🚀 Техническая документация: Инфраструктура 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] |
— | — | — |
🌐 Детальная конфигурация сети и томов
-
Маршрутизация (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].
- Caddy работает как
-
Хранение данных (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].
- База приложения: Использует именованный том
-
Интеграция 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]