Секреты и переменные окружения
Проект использует Doppler для управления секретами и переменными окружения.
Требуемые переменные
| Переменная | Описание | Обязательная |
|---|---|---|
API_URL | URL бэкенд API (saas-api) | Да |
BASE_DOMAIN | Домен приложения | Да |
Установка Doppler CLI
Документация: docs.doppler.com/docs/install-cli
bash
# macOS
brew install dopplerhq/cli/doppler
# Linux
curl -Ls https://cli.doppler.com/install.sh | sh
# Windows (через scoop)
scoop install dopplerПосле установки авторизуйтесь:
bash
doppler loginНастройка проекта
bash
doppler setupПри первом запуске выберите:
- Project:
saas-admin - Config:
local(для разработки)
Примеры значений
Local (локальная разработка)
bash
API_URL=http://localhost:3001/api
BASE_DOMAIN=localhostDev (development окружение)
bash
API_URL=https://api.dev.happ.tools/api
BASE_DOMAIN=admin.dev.happ.toolsProd (production окружение)
bash
API_URL=https://api.happ.tools/api
BASE_DOMAIN=admin.happ.toolsГде получить значения
API_URL
| Окружение | Значение | Источник |
|---|---|---|
| Local | http://localhost:3001/api | Локальный запуск saas-api |
| Dev | https://api.dev.happ.tools/api | Docker на dev сервере |
| Prod | https://api.happ.tools/api | Docker на prod сервере |
Как получить:
- Local: Запустите
saas-apiлокально на порту 3001 - Dev/Prod: URL деплоится автоматически через Docker + Traefik
Генерация environment файлов
После настройки Doppler, сгенерируйте файлы окружения:
bash
# Для локальной разработки
npm run generate:env -- local
# Для dev окружения
npm run generate:env -- dev
# Для production
npm run generate:env -- prodКоманда загрузит секреты из Doppler и создаст файл src/environments/environment.ts.
Doppler Dashboard
- Проект в Doppler: saas-admin
- Управление секретами: Doppler Dashboard → Projects → saas-admin → Configs
Структура конфигов в Doppler
saas-admin/
├── local # Локальная разработка
├── dev # Development окружение
└── prod # Production окружениеДобавление новых секретов
- Добавьте переменную в Doppler Dashboard для всех нужных конфигов (local/dev/prod)
- Обновите скрипт
scripts/generate-env.script.tsдля использования новой переменной - Обновите интерфейс
environmentвsrc/environments/environment.ts - Обновите эту документацию
Безопасность
Важно
- Никогда не коммитьте реальные секреты в репозиторий
- Файлы
environment.tsгенерируются динамически и не должны содержать production секретов в git - Используйте Doppler для безопасного хранения и передачи секретов
Troubleshooting
Ошибка "doppler: command not found"
Установите Doppler CLI:
bash
brew install dopplerhq/cli/dopplerОшибка авторизации
Переавторизуйтесь в Doppler:
bash
doppler logout
doppler loginОшибка "project not found"
Проверьте настройку проекта:
bash
doppler setupИ выберите правильный проект saas-admin.