DaydreamMods
Эксплуатация
Что смотреть, когда сайт молчит, таймер не уходит или файл не скачивается.
Состояние процессов
systemctl status daydreammods-web daydreammods-api --no-pager
journalctl -u daydreammods-web -n 80 --no-pager
journalctl -u daydreammods-api -n 80 --no-pagerВеб должен слушать 3000, API — 4000. Проверка с самой машины:
curl -sI http://127.0.0.1:3000 | head
curl -sI http://127.0.0.1:4000/health || trueТаймер вместо тарифов
Страница /subscription читает sales_open_at из site_settings на каждый запрос. Если таймер всё ещё идёт, в базе лежит будущая дата либо значение не строка и код взял запасной SALES_OPEN_AT из .env.
Проверка:
psql "$DATABASE_URL" -c "select key, value from site_settings where key = 'sales_open_at';"Дата в прошлом по времени сервера — витрина. Дата в будущем — таймер. Часовой пояс в строке обязателен, например 2026-10-04T13:00:00+03:00.
Скачивание
- Нет активной подписки или тариф не включает сборку — кабинет получит отказ «Нет доступа».
- Версия не
published— её нет в списке. - Ключ
local:…, а файла нет вPACK_STORAGE_DIR— API ответит, что файл на сервере не найден. - Токен старше 10 минут или уже использован — «ссылка недействительна».
- S3 не настроен и ключ не начинается с
local:— API отдаёт текстовую заглушку, это не архив сборки.
Загрузка ZIP зависла
Полоса — это отправка из браузера. Если она замирает около минуты на большом файле, режет nginx: client_body_timeout или proxy_read_timeout. Для /api/admin/upload выставлены час и 1 ГБ. После правки nginx нужен nginx -t и systemctl reload nginx. Оборванная загрузка файл не создаёт, её начинают заново.
Почта «не пришла»
Смотрят журнал процесса. Строка [mail:dev] значит, SMTP не задан и письмо только залогировано. Иначе смотрят отказ SMTP (логин, порт 587, пароль приложения).
Доступы
Домен, VPS, кабинет Robokassa, почтовый ящик и бакет должны быть на DaydreamMods, не на личном аккаунте разработчика. Пароль root и первичный пароль администратора после сдачи меняют. В документацию и в git их не пишут.