DaydreamMods
Переменные окружения
Каждая переменная .env: зачем она и что будет, если её нет.
Один файл .env в корне репозитория. На сервере это /opt/daydreammods/.env. Его подхватывают и next, и API, и bun run db:migrate. Пример без секретов — .env.example. Файл с боевыми значениями в git не кладут.
База и адреса
DATABASE_URL— строка Postgres, напримерpostgresql://daydream:ПАРОЛЬ@127.0.0.1:5432/daydreammods. Без неё сайт живёт на запасном каталоге в коде, оплата и кабинет не сохраняются.NEXT_PUBLIC_SITE_URL—https://daydreammods.ru. Попадает в ссылки писем, sitemap и канонические адреса.NEXT_PUBLIC_API_URL— публичный адрес, с которого браузер скачивает файл. В проде это тожеhttps://daydreammods.ru: nginx сам отправляет/downloadsна порт 4000. Если указатьhttp://127.0.0.1:4000, браузер пользователя туда не дойдёт.PORT— порт API, по умолчанию 4000.
Вход
AUTH_SECRET— длинная случайная строка. Менять на живом сайте значит разлогинить сессии, если от неё зависит подпись. Токены сессий хранятся хешем отдельно, но секрет не оставляют значениемchange-me.ADMIN_EMAIL,ADMIN_PASSWORD— только для сида первого администратора. Смена этих переменных после сида сама пароль в базе не обновляет.
Robokassa
ROBOKASSA_MERCHANT_LOGIN— логин магазина.ROBOKASSA_PASSWORD1— пароль №1, им подписывается переход к оплате.ROBOKASSA_PASSWORD2— пароль №2, им проверяется ResultURL. Это разные пароли.ROBOKASSA_IS_TEST—1в тесте,0в бою.
Пустые ключи включают демонстрационный checkout: локальная активация для разработки, не боевой платёж.
Почта
SMTP_HOST,SMTP_PORT(обычно 587),SMTP_USER,SMTP_PASS.SMTP_FROM— видимый отправитель, напримерDaydreamMods <noreply@daydreammods.ru>.
Пустой SMTP_HOST: письмо не отправляется, текст попадает в журнал процесса. Формы при этом не падают.
Файлы и продажи
S3_ENDPOINT,S3_REGION,S3_BUCKET,S3_ACCESS_KEY_ID,S3_SECRET_ACCESS_KEY,S3_FORCE_PATH_STYLE— будущее S3. Пока CDN в админке закрыт.PACK_STORAGE_DIR— каталог ZIP. На сервере/opt/daydreammods/storage/packs. Если не задан, код поднимается на два уровня отapps/webилиapps/serverи берётstorage/packs.SALES_OPEN_AT— запасная дата ISO с часовым поясом. Рабочая дата — ключsales_open_atв таблицеsite_settings. Если ключ есть и это строка, переменная не используется.
Секреты Robokassa, SMTP и S3 в админку не переносятся. В настройках об этом есть закрытый блок «Сервер».