Reactive EngineeringRE Docs
Эксплуатация

Развёртывание в Dokploy

Production-конфигурация web, worker, PostgreSQL и secrets.

Environment

Храните реальные значения в Dokploy Environment:

CUSTOMER_SUPPORT_DATABASE_URL="postgresql://..."
CUSTOMER_SUPPORT_DATABASE_SCHEMA="customer_support"
CUSTOMER_SUPPORT_MIGRATION_DATABASE_URL="postgresql://..."
CUSTOMER_SUPPORT_BETTER_AUTH_SECRET="..."
CUSTOMER_SUPPORT_BETTER_AUTH_URL="https://support.example.com"
CUSTOMER_SUPPORT_FEEDBACK_CREDENTIALS_ENCRYPTION_KEY="..."

Добавьте SMTP_* и временные AUTH_ADMIN_* для bootstrap. Build-time допустимы только NEXT_PUBLIC_APP_NAME и необязательный NEXT_PUBLIC_API_URL.

Web Application

Создайте Application из ReactiveEngineering/re-customer-support, branch main:

ПараметрЗначение
Build typeDockerfile
DockerfileDockerfile
Context.
Internal port3000
Health endpoint/health

Startup sequence:

  1. подготовить PostgreSQL schema;
  2. применить Prisma migrations;
  3. инвалидировать существующие Better Auth sessions;
  4. при полном наборе AUTH_ADMIN_* выполнить seed;
  5. запустить Next.js и feedback worker под supervisor.

После запуска в логах должны присутствовать readiness Next.js и [feedback-worker] Started..

Отдельный worker

Стандартный Application уже содержит worker. Для отдельного процесса:

  1. задайте web-процессу FEEDBACK_WORKER_ENABLED=false;
  2. создайте второй Application из того же image;
  3. уберите domain и exposed port;
  4. переопределите команду:
node --conditions=react-server --import tsx scripts/feedback-worker.ts

Worker разворачивается после успешных web migrations. Несколько экземпляров безопасны при rolling deployment благодаря integration leases.

Первая production-проверка

Проверьте контейнер

Статус running/healthy, /health успешен, web и worker присутствуют в логах.

Войдите как Owner

Проверьте seed-аккаунт, затем удалите AUTH_ADMIN_PASSWORD из Environment.

Настройте источники

Сохраните credentials, выполните connection tests и первый ручной sync.

Проверьте email

Пройдите password recovery и тестовое operational notification.

Зафиксируйте baseline

Сохраните версию image, migration state и ожидаемое время последнего sync для последующей диагностики.

On this page