Перейти к содержимому

Переменные окружения

Полная таблица всех переменных с типами и валидацией — в configs. Здесь — операционный обзор: как env загружается и какой набор нужен каждому сервису.

  • Переменные читаются из окружения процесса. В контейнере .env копируется в образ по пути dokploy/.env (см. deployment).
  • Каждый конфиг-модуль (libs/apis/configs/*) валидирует свою группу переменных через Joi при старте — приложение не поднимется, если обязательная переменная отсутствует или невалидна.
  • В коде переменные доступны только через типизированные XxxConfigService, не через process.env напрямую.
ГруппаКонфиг-модульПримеры переменных
Приложениеconfigs/shared/appAPP_ENV, APP_PORT
База данныхPrisma (напрямую)DATABASE_URL
Redisconfigs/shared/redisREDIS_HOST, REDIS_PORT, REDIS_PASSWORD
S3configs/shared/s3S3_ENDPOINT, S3_REGION, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET
SMTPconfigs/shared/smtpSMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_FROM
RabbitMQconfigs/shared/rabbitRABBITMQ_HOST/PORT/USERNAME/PASSWORD, RABBITMQ_REQUEST_*, RABBITMQ_RESPONSES_*, RABBITMQ_PREFETCH
JWT customerconfigs/auth-api/jwt-customerJWT_CUSTOMER_ACCESS_SECRET_KEY, JWT_CUSTOMER_ACCESS_EXPIRES_IN, JWT_CUSTOMER_REFRESH_SECRET_KEY, JWT_CUSTOMER_REFRESH_EXPIRES_IN
JWT employeeconfigs/auth-api/jwt-employeeJWT_EMPLOYEE_ACCESS_*, JWT_EMPLOYEE_REFRESH_*
JWT adminconfigs/auth-api/jwt-adminJWT_ADMIN_ACCESS_*, JWT_ADMIN_REFRESH_*, ADMIN_ALLOWED_DOMAINS

⚠️ Точные имена, типы и обязательность каждой переменной см. в *.env.ts / *.validation.ts соответствующего конфига и в сводной таблице configs.

СервисОбязательные группы
auth-apiapp, database, redis, smtp, jwt-customer, jwt-employee, jwt-admin
user-apiapp, database, s3, jwt-customer, jwt-employee
project-apiapp, database, jwt-customer, jwt-employee
admin-apiapp (ADMIN_API_PORT), database, jwt-admin
ai-agent-serviceapp, database, rabbit, jwt-customer
core-apidatabase (DATABASE_URL), PORT
ПеременнаяНазначение
SCRIPT_NAMEbuild-arg: какой сервис собирать
APP_ENVОкружение сборки/рантайма
PM2_INSTANCE_NUMBERЧисло PM2-инстансов
ADMIN_API_PORTПорт admin-api (деф. 3002)
PORTПорт core-api (деф. 3000)