Skip to main content

Настройка .env

Этот гайд описывает, какие переменные окружения нужны в ключевых сервисах и как их заполнять для локальной разработки.

Общие правила

  • Берём .env.example как базу и создаём .env.
  • Не коммитим .env (только .env.example).
  • Секреты в dev можно задавать простыми значениями, но в prod должны быть сильные и ротируемые.

apps/api

Файл: apps/api/.env

Минимум для запуска:

  • DATABASE_URL — строка подключения к Postgres для API.
  • JWT_SECRET — секрет для JWT (длинная строка).
  • JWT_EXPIRES_IN — срок жизни токена (например, 7d).
  • CORS_ORIGIN — список разрешённых origin (например, http://localhost:5173).

Дополнительно (если используете):

  • AI_TUNNEL_API_KEY — ключ для AI‑провайдера.
  • STORAGE_* — параметры хранилища (S3/совместимое).

apps/runtime-backend

Файл: apps/runtime-backend/.env

Минимум для запуска:

  • DATABASE_URL — preview‑DB (отдельная база/пользователь).
  • PORT — порт сервиса (по умолчанию 3001).

Защита сервисных запросов:

  • RUNTIME_BACKEND_AUTH_TOKEN — токен для runtime‑host (Bearer).

Применение миграций/сидов:

  • PREVIEW_APPLY_MIGRATIONS=true|false
  • PREVIEW_APPLY_SEEDS=true|false

Медиа‑прокси (если используется):

  • MEDIA_PROXY_ENABLED=true
  • MEDIA_PROXY_ALLOWLIST=* (или список доменов)

apps/runtime-host

Файл: apps/runtime-host/.env

Минимум:

  • VITE_API_BASE_URL — URL API (http://localhost:3000).
  • VITE_RUNTIME_BACKEND_URL — URL runtime‑backend (http://localhost:3001).

Если включена защита runtime‑backend:

  • VITE_RUNTIME_BACKEND_TOKEN — тот же токен, что в RUNTIME_BACKEND_AUTH_TOKEN.

Медиа‑режим (optional):

  • VITE_MEDIA_MODEdirect|normalized|proxy
  • VITE_MEDIA_PROXY_URL — URL прокси (обычно VITE_RUNTIME_BACKEND_URL)

apps/builder-web

Файл: apps/builder-web/.env.development

Минимум:

  • VITE_API_BASE_URL — URL API (http://localhost:3000).

Медиа‑режим (optional):

  • VITE_MEDIA_MODEdirect|normalized|proxy
  • VITE_MEDIA_PROXY_URL — URL прокси (например, runtime‑backend).

apps/docs

Файл: apps/docs/.env (опционально)

Обычно не требуется. Если используется внешняя аналитика или интеграции — добавляйте по месту.

Экспортируемые проекты (templates)

В экспортируемом backend:

  • DATABASE_URL — база в docker‑compose.
  • LOWCODE_APPLY_MIGRATIONS=true|false
  • LOWCODE_APPLY_SEEDS=true|false
  • LOWCODE_DB_DIR=/db (в docker‑compose уже задано)

Admin UI:

  • LOWCODE_ADMIN_ENABLED=true
  • LOWCODE_ADMIN_TOKEN=...
  • LOWCODE_ADMIN_TABLES=products,orders

Media proxy:

  • MEDIA_PROXY_ENABLED=true
  • MEDIA_PROXY_ALLOWLIST=*

Рекомендации для продакшена

  • Секреты хранить в менеджере секретов (Vault/SSM/Secrets Manager).
  • Токены и JWT‑секреты менять регулярно.
  • Ограничивать CORS_ORIGIN и MEDIA_PROXY_ALLOWLIST.
  • Использовать отдельного пользователя БД для preview/runtime‑backend.