Files
ss-tools/.env.example
busya 5758ae4a83 fix(database): object-level reset and optional DB_SCHEMA isolation
Safe one-shot reset, fail-fast on unknown revisions, object-level drops for non-owner corporate PG, rollback before advisory unlock, configurable DB_SCHEMA via search_path, e2e migration matrix tests.
2026-09-11 16:17:11 +03:00

92 lines
5.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ======================================================================
# superset-tools — локальная разработка (docker compose)
# Все переменные, используемые docker-compose.yml.
# Скопируйте в .env.current или .env.master и отредактируйте под ветку.
# ======================================================================
# ── Проект ─────────────────────────────────────────────────────────────
COMPOSE_PROJECT_NAME=ss-tools-current
# ── PostgreSQL (встроенный, docker compose db service) ──────────────────
POSTGRES_IMAGE=postgres:16-alpine
POSTGRES_HOST=db
POSTGRES_PORT=5432
POSTGRES_HOST_PORT=5433
POSTGRES_DB=ss_tools
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
# Схема, в которой живут все объекты приложения (по умолчанию public).
# Для внешней корпоративной БД: DB_SCHEMA=ss_tools (схему один раз создаёт DBA).
# DB_SCHEMA=public
# One-shot migration reset, only for databases NOT on the current chain (legacy/orphaned
# Alembic revisions). true never wipes a chain-managed schema; false/unset fails fast on
# an unknown revision instead of dropping anything. A dropping reset needs ownership of
# the schema objects, not the schema itself.
RESET_DATABASE_SCHEMA=false
# ── Application storage ─────────────────────────────────────────────────
STORAGE_ROOT_PATH=/app/storage
# ── Порты хоста ────────────────────────────────────────────────────────
BACKEND_HOST_PORT=8101
FRONTEND_HOST_PORT=8100
FRONTEND_SSL_PORT=443
# ── Безопасность (ОБЯЗАТЕЛЬНО) ─────────────────────────────────────────
# JWT-ключ подписи токенов (backend auth + MCP).
# Сгенерировать: python3 -c "import secrets; print(secrets.token_urlsafe(32))"
AUTH_SECRET_KEY=change-me-to-a-random-secret-32-chars-min
# Fernet-ключ шифрования паролей подключений и API-ключей.
# Сгенерировать: python3 -c "import base64,os; print(base64.urlsafe_b64encode(os.urandom(32)).decode())"
ENCRYPTION_KEY=D40dpvWPZxKd41jeaTHtEs2R7nwMVLxbkMRLjAICRls=
# Сервисный токен для agent→backend вызовов.
# Сгенерировать: python3 -c "import secrets; print('svc-' + secrets.token_urlsafe(24))"
SERVICE_JWT=replace-with-random-service-secret
# JWT audience / issuer (опционально)
# JWT_AUDIENCE=superset-tools-api
# JWT_ISSUER=superset-tools
# ── Admin bootstrap (первый запуск) ────────────────────────────────────
INITIAL_ADMIN_CREATE=true
INITIAL_ADMIN_USERNAME=admin
INITIAL_ADMIN_PASSWORD=admin
INITIAL_ADMIN_EMAIL=
# ── LLM / AI провайдеры (опционально — настраивается через Web UI) ─────
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
# Агент: LLM настройки (если не подтягиваются из FastAPI /api/agent/llm-config)
LLM_API_KEY=
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o
# ── Сертификаты / фронтенд ─────────────────────────────────────────────
CERTS_PATH=./certs
SSL_KEY_PASSPHRASE=
LLM_CA_CERT_URLS=
# ── Логирование ────────────────────────────────────────────────────────
ENABLE_BELIEF_STATE_LOGGING=true
TASK_LOG_LEVEL=INFO
# ── CORS / Безопасность деплоя ─────────────────────────────────────────
ALLOWED_ORIGINS=http://localhost:8100,http://127.0.0.1:8100
FORCE_HTTPS=false
APP_TIMEZONE=Europe/Moscow
# ── Features ───────────────────────────────────────────────────────────
FEATURES__DATASET_REVIEW=true
FEATURES__HEALTH_MONITOR=true
# ── ADFS SSO (опционально) ─────────────────────────────────────────────
# ADFS_CLIENT_ID=
# ADFS_CLIENT_SECRET=
# ADFS_METADATA_URL=
# ── OpenRouter (опционально) ───────────────────────────────────────────
# OPENROUTER_SITE_URL=
# OPENROUTER_APP_NAME=
# APP_BASE_URL=