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

Сертификаты — Cloudflare Origin CA, выпущены на 15 лет и лежат в Doppler (CLOUDFLARE_ORIGIN_CERT / CLOUDFLARE_ORIGIN_KEY); деплой раскладывает их в /opt/integ/certs.

Let's Encrypt и ACME здесь не используются:

  • Автообновления нет — замена сертификата ручная
  • HTTP редиректится на HTTPS средствами Traefik
  • Сертификаты монтируются из ./certs, файла acme.json не существует

Integ Deploy Documentation