Перейти к содержанию

Конфигурация

Используйте .env.example для локальной разработки и .env.production.example для production на VPS.

Установка Python в Docker/CI использует requirements-lock.txt (перегенерация: uv pip compile requirements.txt -o requirements-lock.txt).

Production (обязательно)

bash APP_ENV=production DEBUG=false SECRET_KEY=<token_urlsafe 48> POSTGRES_PASSWORD=<strong> REDIS_PASSWORD=<strong> ADMIN_EMAIL=admin@yourcompany.com ADMIN_PASSWORD=<strong> AGENTBI_DOMAIN=agentbi.example.com CORS_ORIGINS=https://agentbi.example.com TRAEFIK_NETWORK=agentops-edge TRAEFIK_DIR=/home/smdg/traefik/dynamic SEED_DEMO_DATA=false JWT_EXPIRE_MINUTES=480 LOGIN_RATE_LIMIT_ENABLED=true LOG_JSON=true REGISTRATION_ENABLED=true

Compose подставляет DATABASE_URL / REDIS_URL из POSTGRES_* / REDIS_PASSWORD.

SSO (рекомендуется для SaaS)

bash SSO_PUBLIC_BASE_URL=https://agentbi.example.com SSO_FRONTEND_URL=https://agentbi.example.com SSO_AUTO_PROVISION=true SSO_SYNC_ROLES=true GOOGLE_SSO_ENABLED=true GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=…

Настройте email-домены для каждого tenant до входа через Google SSO (Authentication). Покупатели также могут создать аккаунт на /register.html без SSO.

Биллинг (ЮKassa)

bash BILLING_ENABLED=true BILLING_PROVIDER=yookassa YOOKASSA_SHOP_ID=… YOOKASSA_SECRET_KEY=… PLAN_PRO_PRICE_YEARLY=29900 PLAN_BUSINESS_PRICE_YEARLY=99900 BILLING_SUCCESS_URL=https://agentbi.com.ru/src/pages/settings.html?billing=success BILLING_CANCEL_URL=https://agentbi.com.ru/src/pages/settings.html?billing=cancel

Webhook: https://agentbi.com.ru/api/v1/billing/webhooks/yookassa

Observability

bash SENTRY_DSN=https://…@….ingest.sentry.io/… SENTRY_SEND_DEFAULT_PII=false # or true if needed SENTRY_TRACES_SAMPLE_RATE=0.1

При деплое APP_VERSION / GIT_SHA берутся из тега образа (IMAGE_TAG).

Локальная разработка

```bash APP_NAME=AgentBI APP_ENV=development DEBUG=true SECRET_KEY=change-me-to-a-long-random-secret-key-in-production API_V1_PREFIX=/api/v1

DATABASE_URL=postgresql+asyncpg://agentbi:agentbi@timescaledb:5432/agentbi DATABASE_URL_SYNC=postgresql://agentbi:agentbi@timescaledb:5432/agentbi REDIS_URL=redis://redis:6379/0

ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD=admin123 ADMIN_NAME=AgentBI Admin

CORS_ORIGINS=http://localhost,http://localhost:3000,http://localhost:5173,http://agentbi.localhost SEED_DEMO_DATA=true ```

Volumes и пути

Volume / путь Назначение
timescale_data Данные PostgreSQL
redis_data Персистентность Redis
backups/ Дампы перед migrate / cron
VERSION / VERSION.prev SHA деплоя + предыдущий (rollback)
deploy.log Лог скрипта deploy
Docker logs docker compose -f docker-compose.prod.yml logs -f api