Skip to main content

Deployment Overview

Карта всей инфраструктуры goLoot и порядок развёртывания с нуля.


1. Что мы разворачиваем

goLoot — это монорепо из 6 сервисов + стек мониторинга, работающих на одном VPS через Dokploy.

Карта сервисов

Домены

ДоменСервисОписание
api.goloot.onlineBackendREST API
goloot.onlineFrontendTelegram Mini App
admin.goloot.onlineAdminПанель администрирования
start.goloot.onlineRedirect ServiceРеферальные/UTM ссылки, OG-превью
r.goloot.onlineRedirect ServicePush tracking (короткая ссылка)
static.goloot.onlineStatic NginxСтатические файлы (изображения, иконки)
docs.goloot.onlineDocs SiteДокументация

2. Технологический стек

КомпонентТехнологияОписание
ОркестрацияDokploy (Docker Swarm)Self-hosted PaaS, web-UI для управления
Reverse ProxyTraefikВстроен в Dokploy, SSL через Let's Encrypt
КонтейнеризацияDockerУстанавливается автоматически с Dokploy
БДPostgreSQL 15+Основное хранилище
КэшRedis 7Опциональный, rate-limiting invite-ссылок к документации
CI/CDGitHub ActionsАвтогенерация документации
МониторингPrometheus + Grafana + Loki + TempoМетрики, логи, трейсы
SSLLet's EncryptАвтоматическое обновление через Traefik

3. Минимальные требования к серверу

ПараметрМинимумРекомендуетсяОписание
CPU2 vCPU4 vCPUСборка Docker образов требует ресурсов
RAM4 GB8 GBBackend + PostgreSQL + мониторинг
Disk40 GB SSD80 GB SSDDocker images + DB + логи
OSUbuntu 22.04 LTSUbuntu 22.04 LTSDokploy официально поддерживает
Сеть100 Mbps1 GbpsStatic files serving
RAM критичен

При 4 GB RAM сборка Docker образов может упасть с OOM. Рекомендуется настроить swap 4 GB (описано в Server Setup).


4. Порядок развёртывания

Строго последовательный — каждый шаг зависит от предыдущего:

ШагДокументВремя
1-2Server Setup~30 мин
3Dokploy Installation~15 мин
4Database Setup~20 мин
5-7Services Deployment~60 мин
Environment VariablesСправочник
8Monitoring Setup~30 мин
9CI/CD Setup~15 мин
10Backup & Migration~20 мин

Общее время: ~3-4 часа для первого развёртывания.


5. Что Dokploy делает за нас

Dokploy — это self-hosted альтернатива Heroku/Vercel. Он автоматизирует:

ЗадачаБез DokployС Dokploy
Docker установкаВручнуюАвтоматически при установке
Сборка образовdocker build вручнуюПо push в Git или webhook
SSL сертификатыCertbot вручнуюLet's Encrypt через Traefik
Reverse proxyNginx вручнуюTraefik автоматически
Перезапуск при паденииsystemd вручнуюDocker Swarm
Просмотр логовdocker logs в терминалеWeb UI
Environment variables.env файлы на дискеБезопасное хранение в UI
Health checksВручнуюНастраиваемые проверки
Dokploy = Docker + Traefik + Web UI

Dokploy не заменяет Docker, а управляет им. Под капотом — Docker Swarm для оркестрации и Traefik для роутинга.


6. Сетевая архитектура

Все сервисы находятся в одной Docker network (dokploy-network) и общаются по внутренним DNS-именам контейнеров.

Извне доступны только порты 80 и 443 — Traefik маршрутизирует по домену.