Полная таблица всех переменных с типами и валидацией — в configs. Здесь — операционный обзор: как env загружается и какой набор нужен каждому сервису.
- Переменные читаются из окружения процесса. В контейнере
.env копируется в образ по пути dokploy/.env (см. deployment).
- Каждый конфиг-модуль (
libs/apis/configs/*) валидирует свою группу переменных через Joi при старте — приложение не поднимется, если обязательная переменная отсутствует или невалидна.
- В коде переменные доступны только через типизированные
XxxConfigService, не через process.env напрямую.
| Группа | Конфиг-модуль | Примеры переменных |
|---|
| Приложение | configs/shared/app | APP_ENV, APP_PORT |
| База данных | Prisma (напрямую) | DATABASE_URL |
| Redis | configs/shared/redis | REDIS_HOST, REDIS_PORT, REDIS_PASSWORD |
| S3 | configs/shared/s3 | S3_ENDPOINT, S3_REGION, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET |
| SMTP | configs/shared/smtp | SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_FROM |
| RabbitMQ | configs/shared/rabbit | RABBITMQ_HOST/PORT/USERNAME/PASSWORD, RABBITMQ_REQUEST_*, RABBITMQ_RESPONSES_*, RABBITMQ_PREFETCH |
| JWT customer | configs/auth-api/jwt-customer | JWT_CUSTOMER_ACCESS_SECRET_KEY, JWT_CUSTOMER_ACCESS_EXPIRES_IN, JWT_CUSTOMER_REFRESH_SECRET_KEY, JWT_CUSTOMER_REFRESH_EXPIRES_IN |
| JWT employee | configs/auth-api/jwt-employee | JWT_EMPLOYEE_ACCESS_*, JWT_EMPLOYEE_REFRESH_* |
| JWT admin | configs/auth-api/jwt-admin | JWT_ADMIN_ACCESS_*, JWT_ADMIN_REFRESH_*, ADMIN_ALLOWED_DOMAINS |
⚠️ Точные имена, типы и обязательность каждой переменной см. в *.env.ts / *.validation.ts соответствующего конфига и в сводной таблице configs.
| Сервис | Обязательные группы |
|---|
auth-api | app, database, redis, smtp, jwt-customer, jwt-employee, jwt-admin |
user-api | app, database, s3, jwt-customer, jwt-employee |
project-api | app, database, jwt-customer, jwt-employee |
admin-api | app (ADMIN_API_PORT), database, jwt-admin |
ai-agent-service | app, database, rabbit, jwt-customer |
core-api | database (DATABASE_URL), PORT |
| Переменная | Назначение |
|---|
SCRIPT_NAME | build-arg: какой сервис собирать |
APP_ENV | Окружение сборки/рантайма |
PM2_INSTANCE_NUMBER | Число PM2-инстансов |
ADMIN_API_PORT | Порт admin-api (деф. 3002) |
PORT | Порт core-api (деф. 3000) |