Настройка
Переменные окружения
Основные переменные задаются в .env (локально) или в .env.server на продакшене (при использовании docker compose --env-file .env.server).
| Переменная | Описание |
|---|---|
| DATABASE_URL | URL подключения к PostgreSQL (например, postgresql://user:pass@host:5432/dbname). |
| REDIS_URL | URL Redis (например, redis://localhost:6379). |
| JWT_SECRET | Секрет для подписи JWT. На проде обязательно смените на свой. |
| S3_ENDPOINT / S3_ACCESS_KEY / S3_SECRET_KEY / S3_BUCKET | Параметры S3-совместимого хранилища (MinIO, AWS S3, R2 и т.д.). |
| NEXT_PUBLIC_API_URL | Публичный URL API для фронтенда и админки (например, https://api.pxlr.ru). |
| NEXT_PUBLIC_ADMIN_URL | URL админ-панели (например, https://admin.pxlr.ru). |
| CORS_ORIGIN | Разрешённые origin для CORS (через запятую при нескольких). |
База данных
API при старте ожидает, что PostgreSQL уже развёрнут и доступен по DATABASE_URL. Миграции/инициализация схемы обычно выполняются при первом запуске (см. скрипт init.sql в пакете API).
Redis
Redis используется для кэширования (например, списка схем) и для сессий/реального времени. Задайте REDIS_URL.
S3 (медиа)
Загрузки медиа сохраняются в S3-совместимое хранилище. Поддерживаются MinIO, AWS S3, Cloudflare R2 и др. Укажите endpoint, ключи доступа и имя bucket. Для локальной разработки с Docker часто используют MinIO из того же docker-compose.
Первый администратор
После установки в админке откройте /setup. Если в базе ещё нет пользователей, форма позволит создать первого администратора (email, имя, пароль). После этого вход только через /login.