Перейти к содержанию

Инфраструктура

Где разворачивается проект

  • Локальная разработка: Docker Compose (см. docker-compose.yml)
  • Сеть: supa-net (bridge)

Основные сервисы (локально)

Supabase (самохост)

  • Kong (единая точка входа): внешний порт SUPABASE_PORT (по умолчанию 9000) → контейнер kong:9600
  • Studio: внешний порт STUDIO_PORT (по умолчанию 9001) → контейнер studio:3000
  • Auth (GoTrue): внутренний auth:9999
  • REST (PostgREST): внутренний rest:3000
  • Realtime: внутренний realtime:4000
  • Storage: внутренний storage:5000
  • Edge Functions: внутренний functions:*

Backend API

  • Hotel API (FastAPI): контейнер hotel_api_v2, внешний порт ${API_PORT}:8000, базовый префикс /api/v1
  • Rust API (поиск/сервисные функции): контейнер hotel_api_rust, порт 9011
  • Worker (Celery): контейнер worker_v2

Frontend

  • Admin Web (Vite dev): контейнер admin_web_v4, внешний порт ${WEB_PORT}:9003

Данные

  • PostgreSQL: контейнер db (в составе Supabase), доступ внутри сети db:5432
  • Redis: контейнер redis:6379 (внутренняя сеть)
  • MongoDB: контейнер mongo:27017 (внутренняя сеть)
  • ClickHouse: контейнер clickhouse (внутренняя сеть)
  • ClickHouse UI: внешний порт ${CLICKHOUSE_UI_PORT:-9004}:80

Аналитика

  • Superset: внешний порт ${SUPERSET_PORT:-9008}:8088
  • Grafana: если используется, описать в отдельном compose/разделе (требует актуализации)

Reverse proxy

  • Nginx: внешние порты ${NGINX_HTTP_PORT:-80}:80 и ${NGINX_HTTPS_PORT:-443}:443
  • Домены (через Nginx/Caddy):
  • arkhyz-club.ru → frontend
  • api.arkhyz-club.ruhotel_api_v2:8000
  • stage.arkhyz-club.ruhotel_api_v2:8000

Переменные окружения (важные группы)

  • Supabase: ANON_KEY, SERVICE_ROLE_KEY, JWT_SECRET, POSTGRES_*
  • Backend: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, CELERY_*, MONGODB_URL
  • Frontend: VITE_API_BASE_URL, VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY

Логирование и мониторинг

  • Логи контейнеров: Docker logging driver json-file (с ограничением размера)
  • Логи API: монтирование ./api-admin/logs:/server/logs

Резервное копирование

  • В compose присутствует контейнер резервного копирования PostgreSQL (см. pg_backup.sh и сервис в docker-compose.yml, требуется актуализация политики хранения).

Связанные документы

  • [[docs/05_архитектура/архитектура]]
  • [[docs/09_данные/база_данных]]