Skip to content

Архитектура

Назначение проекта

Integ Deploy управляет базовой инфраструктурой для платформы integ.happ.tools:

  1. Создаёт директорию /opt/integ/ на серверах
  2. Деплоит базовую инфраструктуру (Traefik, PostgreSQL)
  3. Подготавливает окружение для контейнеров integ-api и integ-admin

Поток деплоя

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  integ-deploy   │────▶│    integ-api    │────▶│   integ-admin   │
│  (инфраструктура)│     │   (backend)     │     │  (frontend)     │
└─────────────────┘     └─────────────────┘     └─────────────────┘

         │ Создаёт /opt/integ/ с:
         │ - docker-compose.yml
         │ - .env (из Doppler)
         │ - Traefik + PostgreSQL


┌─────────────────────────────────────────────────────────────────┐
│                         Сервер                                   │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐        │
│  │    Traefik    │  │  PostgreSQL   │  │   Сервисы     │        │
│  │   :80/:443    │  │    :5432      │  │  api + admin  │        │
│  └───────────────┘  └───────────────┘  └───────────────┘        │
└─────────────────────────────────────────────────────────────────┘

Docker-сервисы

Dev окружение

СервисПортОписание
happ-integ-traefik80, 443Reverse proxy с SSL
happ-integ-db5432PostgreSQL база данных
happ-integ-api3000Backend API (внутренний порт)
happ-integ-admin4200Админ-панель (внутренний порт)

Prod окружение

СервисПортОписание
happ-integ-traefik80, 443Reverse proxy с SSL
happ-integ-api3000Backend API (внутренний порт)
happ-integ-admin4200Админ-панель (внутренний порт)

В prod PostgreSQL внешний (managed DB).

Cloudflare Workers

integ-core деплоится отдельно через Wrangler на Cloudflare CDN:

  • Маршруты: /sofa/* на основных доменах
  • Обрабатывается на edge-уровне CF, не через Traefik

Домены

Dev

ДоменНазначение
integ.dev.happ.toolsАдмин-панель
api.integ.dev.happ.toolsBackend API
integ.dev.happ.tools/sofa/*Cloudflare Worker

Prod

ДоменНазначение
integ.happ.toolsАдмин-панель
api.integ.happ.toolsBackend API
integ.happ.tools/sofa/*Cloudflare Worker

SSL/TLS

Traefik автоматически управляет SSL-сертификатами через Let's Encrypt:

  • Сертификаты получаются автоматически при первом деплое
  • Автообновление за 30 дней до истечения
  • HTTP автоматически редиректится на HTTPS
  • Сертификаты хранятся в letsencrypt/acme.json

Integ Deploy Documentation