66 lines
4.0 KiB
Plaintext
66 lines
4.0 KiB
Plaintext
# =============================================================================
|
||
# Корневой шаблон окружения: локальная разработка, docker-compose.yml (Postgres)
|
||
# и docker-compose.stack.yml (backend + frontend в общей сети с Postgres).
|
||
# Скопируйте в .env и подставьте значения. Файл .env не коммитьте.
|
||
# =============================================================================
|
||
|
||
# ─── Подключение бэкенда к PostgreSQL ──────────────────────────
|
||
# Локально + docker-compose из этого репо: DB_HOST=localhost, DB_PORT=5432
|
||
# Backend в Docker рядом с Postgres: DB_HOST = имя контейнера/сервиса в той же
|
||
# docker-сети (например postgres_budget), DB_PORT=5432 (внутренний порт Postgres).
|
||
DB_HOST=localhost
|
||
DB_PORT=5432
|
||
DB_NAME=calendar_run
|
||
DB_USER=calendar_user
|
||
DB_PASSWORD=replace_with_strong_secret
|
||
|
||
# ─── Backend API ───────────────────────────────────────────────
|
||
# Порт процесса: сначала PORT, иначе API_PORT, иначе 3001.
|
||
# В docker-compose.stack.yml для контейнера задаётся PORT=3000 (см. compose).
|
||
# PORT=3000
|
||
API_PORT=3001
|
||
|
||
# ─── Режим без БД (только тесты / smoke API, не для migrate/seed) ─
|
||
# CALENDAR_RUN_MOCK_DB=1
|
||
|
||
# ─── CORS ────────────────────────────────────────────────────
|
||
# Должен совпадать с origin в браузере (схема + хост + порт, без пути), иначе API «молчит».
|
||
# Локальный Vite: http://localhost:5173
|
||
# Стек с фронтом на 3033: http://localhost:3033
|
||
# Прод: https://ваш-домен — несколько origin через запятую: https://a.ru,https://www.a.ru
|
||
CORS_ORIGIN=http://localhost:5173
|
||
|
||
# ─── Auth / sessions ─────────────────────────────────────────
|
||
# APP_BASE_URL is the only source for verify/reset email links.
|
||
APP_BASE_URL=http://localhost:5173
|
||
SESSION_SECRET=replace_with_32plus_char_random_secret
|
||
# Production defaults to __Host-sid + Secure cookies. Local dev can stay insecure over http.
|
||
# SESSION_COOKIE_NAME=__Host-sid
|
||
# SESSION_COOKIE_SECURE=true
|
||
# SESSION_TTL_DAYS=30
|
||
|
||
# ─── Cloudflare Turnstile ────────────────────────────────────
|
||
TURNSTILE_SECRET_KEY=replace_with_turnstile_secret
|
||
# Local tests/dev only, never production:
|
||
# TURNSTILE_BYPASS_TOKEN=mock-turnstile-token
|
||
|
||
# ─── SMTP email ──────────────────────────────────────────────
|
||
SMTP_HOST=smtp.example.com
|
||
SMTP_PORT=587
|
||
SMTP_SECURE=false
|
||
SMTP_USER=replace_with_smtp_user
|
||
SMTP_PASSWORD=replace_with_smtp_password
|
||
SMTP_FROM=Calendar Run <no-reply@example.com>
|
||
|
||
# ─── Seed after auth ─────────────────────────────────────────
|
||
# Required once users exist, so seed never creates ownerless races or overwrites user edits.
|
||
# SEED_OWNER_USER_ID=
|
||
# SEED_OWNER_EMAIL=
|
||
|
||
# ─── Версия API (опционально) ─────────────────────────────────
|
||
# Если в образе не удаётся прочитать package.json, подставьте вручную (видно в GET /health).
|
||
# APP_VERSION=1.0.0
|
||
|
||
# ─── Frontend (Vite, локально из каталога frontend/) ─────────
|
||
# Браузер всегда ходит на относительный /api; в dev это проксирует Vite.
|