# Database DATABASE_URL=postgresql://postgres:PASSWORD@db:5432/nika_gallery POSTGRES_PASSWORD=changeme # Auth JWT_SECRET=change-me-jwt-secret JWT_REFRESH_SECRET=change-me-refresh-secret # Email SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=noreply@1nika.ru SMTP_PASS=smtp-password OWNER_EMAIL=nika@example.com # Telegram TELEGRAM_BOT_TOKEN=bot:token TELEGRAM_CHANNEL_ID=@nika_channel OWNER_TELEGRAM_ID=123456789 # Yandex ID OAuth (вход через Яндекс). Создать приложение: https://oauth.yandex.ru/client/new # Права: «Доступ к адресу электронной почты» (login:email) + «Доступ к логину, имени и полу» (login:info). # Redirect URI в кабинете Яндекса должен ТОЧНО совпадать с YANDEX_REDIRECT_URI ниже. # Значения client_id/secret для 1nika.ru — в YandexDisk/servaki.online/YANDEX-OAUTH-APPS.secret.txt [NIKA ART]. YANDEX_CLIENT_ID= YANDEX_CLIENT_SECRET= YANDEX_REDIRECT_URI=https://1nika.ru/api/auth/yandex/callback # Куда вернуть пользователя с токеном (обычно = SITE_URL). Токен приходит в hash: /club#token=... FRONTEND_URL=https://1nika.ru # App SITE_URL=https://1nika.ru PORT=4000 NODE_ENV=production UPLOAD_DIR=/app/uploads # Bot adapter (единый бот флота @servaki_online_bot → ручки /api/bot/*) # Сервис-токен: любая длинная случайная строка, генерируется при деплое, тот же # токен прописывается в реестре бота (sites.api_token). НЕ коммитить реальное значение. # openssl rand -hex 32 BOT_API_TOKEN= # Ключ сайта в реестре бота (возвращается в GET /api/bot/health). BOT_SITE_KEY=nika # Frontend NEXT_PUBLIC_API_URL=https://1nika.ru/api NEXT_PUBLIC_WS_URL=wss://1nika.ru/ws