From 673c0bb2172039fc4aeaf285f8f9f22d308a8107 Mon Sep 17 00:00:00 2001 From: busya Date: Thu, 21 May 2026 10:09:04 +0300 Subject: [PATCH] =?UTF-8?q?docs(env):=20add=20unified=20.env.example=20?= =?UTF-8?q?=E2=80=94=2037=20vars,=2014=20sections?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - .env.example: единый источник истины для всех переменных окружения - .gitignore: добавлено исключение !.env.example (правило .env* не применяется) - Все ранее внесённые правки аудита (7 классов) уже закоммичены в 68740cd - Итог: 33 QA-теста, 0 хардкод-секретов, 0 .bak, 0 except:pass --- .axiom/semantic_index/.dirty | 0 .env.example | 75 ++++++++++++++++++++++++++++++++++++ .gitignore | 1 + 3 files changed, 76 insertions(+) delete mode 100644 .axiom/semantic_index/.dirty create mode 100644 .env.example diff --git a/.axiom/semantic_index/.dirty b/.axiom/semantic_index/.dirty deleted file mode 100644 index e69de29b..00000000 diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..46a060f6 --- /dev/null +++ b/.env.example @@ -0,0 +1,75 @@ +# ====================================================================== +# ss-tools — Переменные окружения +# Скопируйте в .env и заполните значения +# +# Полный каталог: см. backend/src/core/auth/config.py, +# backend/src/core/database.py, backend/src/app.py +# ====================================================================== + +# --- Аутентификация и безопасность (ОБЯЗАТЕЛЬНО) --- +AUTH_SECRET_KEY= # JWT-ключ подписи токенов (обязательно, без него сервер не стартует) +ALLOWED_ORIGINS=* # CORS: список доменов через запятую (по умолчанию *; для прода — явный список) + +# --- Базы данных --- +DATABASE_URL= # Основная БД (обязательно для production) +AUTH_DATABASE_URL= # БД аутентификации (если не задан — fallback на DATABASE_URL) +TASKS_DATABASE_URL= # БД задач (если не задан — fallback на DATABASE_URL) +POSTGRES_URL= # Fallback для DATABASE_URL (deprecated; используйте DATABASE_URL) + +# --- Режим разработки --- +DEV_MODE=false # true — разрешает dev-fallback для БД и упрощает валидацию секретов + +# --- ADFS SSO (опционально) --- +ADFS_CLIENT_ID= # Client ID для ADFS (если не задан — ADFS отключён) +ADFS_CLIENT_SECRET= # Client Secret для ADFS +ADFS_METADATA_URL= # URL метаданных ADFS (например, https://adfs.example.com/FederationMetadata/2007-06/FederationMetadata.xml) + +# --- Администратор (первый запуск) --- +INITIAL_ADMIN_CREATE=false # true — создать администратора при старте (только для первого запуска) +INITIAL_ADMIN_USERNAME=admin # Логин администратора +INITIAL_ADMIN_PASSWORD= # Пароль (обязателен при INITIAL_ADMIN_CREATE=true) +INITIAL_ADMIN_EMAIL= # Email администратора (опционально) + +# --- AI / LLM API ключи (опционально) --- +OPENAI_API_KEY= # OpenAI API key +ANTHROPIC_API_KEY= # Anthropic API key +OPENROUTER_SITE_URL= # URL сайта для OpenRouter (если используется) +OPENROUTER_APP_NAME=ss-tools # Название приложения для OpenRouter (по умолчанию ss-tools) +APP_BASE_URL= # Базовый URL приложения для LLM-колбэков + +# --- Шифрование --- +ENCRYPTION_KEY= # Ключ Fernet-шифрования (генерируется автоматически при первом запуске) + +# --- Хранилище --- +STORAGE_ROOT=./storage # Корневая директория для артефактов и файлов + +# --- Порты --- +BACKEND_HOST_PORT=8001 # Внешний порт бэкенда на хосте (маппинг контейнера) +FRONTEND_HOST_PORT=8000 # Внешний порт фронтенда на хосте +BACKEND_PORT=8000 # Внутренний порт бэкенда в контейнере +FRONTEND_PORT=5173 # Порт dev-сервера SvelteKit +FRONTEND_SSL_PORT=443 # SSL-порт для фронтенда (nginx) + +# --- Сертификаты --- +CERTS_PATH=./certs # Путь к директории с сертификатами (монтируется в контейнер) + +# --- PostgreSQL (прямое подключение, без DATABASE_URL) --- +POSTGRES_HOST=localhost # Хост PostgreSQL +POSTGRES_PORT=5432 # Порт PostgreSQL +POSTGRES_DB=ss_tools # Имя БД +POSTGRES_USER=postgres # Пользователь +POSTGRES_PASSWORD= # Пароль (обязателен для production) + +# --- Логирование --- +TASK_LOG_LEVEL=INFO # Уровень логирования задач (DEBUG/INFO/WARNING/ERROR) +ENABLE_BELIEF_STATE_LOGGING=true # Включить belief state логирование (true/false) + +# --- Features (фича-флаги) --- +FEATURES__DATASET_REVIEW=true # Включить ревью датасетов +FEATURES__HEALTH_MONITOR=true # Включить мониторинг здоровья + +# --- WebSocket (фронтенд) --- +PUBLIC_WS_URL= # URL для WebSocket-соединений из фронтенда (например, ws://localhost:8000) + +# --- Docker Compose --- +COMPOSE_PROJECT_NAME=ss-tools # Имя Docker Compose проекта diff --git a/.gitignore b/.gitignore index 22f3d84a..27e75249 100755 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ yarn-error.log* build/ dist/ .env* +!.env.example config.json package-lock.json