# FamilyHUB ## Заполнение конфигурации Приложение читает переменные окружения из `.env` (через `godotenv`) и затем из окружения процесса. ### 1. Создайте файл `.env` в корне проекта ```env RUN_MODE=standalone DEBUG_MODE=false BOT_TOKEN=123456:telegram-bot-token GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/google-credentials.json DB_PATH=sqlite://data/app.db API_HOST=localhost API_PORT=8000 API_SECRET=change-me OPEN_API_ENABLED=true OPEN_API_ENDPOINT=/docs ``` ### 2. Обязательные переменные по режимам `RUN_MODE` поддерживает значения: - `bot` - `api` - `standalone` Если `RUN_MODE=bot` или `RUN_MODE=standalone`, обязательны: - `BOT_TOKEN` - `GOOGLE_APPLICATION_CREDENTIALS` Если `RUN_MODE=api` или `RUN_MODE=standalone`, обязательна: - `API_SECRET` ### 3. Дефолты для API-режима Если не заданы, будут использованы: - `DB_PATH=sqlite://data/app.db` - `API_HOST=localhost` - `API_PORT=8000` - `OPEN_API_ENDPOINT=/docs` ### 4. Описание переменных - `RUN_MODE`: режим запуска (`bot`, `api`, `standalone`). - `DEBUG_MODE`: `true/false`. - `BOT_TOKEN`: токен Telegram-бота. - `GOOGLE_APPLICATION_CREDENTIALS`: абсолютный путь к JSON-ключу Google. - `DB_PATH`: строка подключения к БД (например `sqlite://data/app.db`). - `API_HOST`: хост API. - `API_PORT`: порт API. - `API_SECRET`: секрет API. - `OPEN_API_ENABLED`: включает swagger-ui endpoint (`true/false`). - `OPEN_API_ENDPOINT`: путь для OpenAPI endpoint (в конфиге присутствует). ### 5. Быстрая проверка перед запуском 1. Убедитесь, что `RUN_MODE` выставлен корректно. 2. Проверьте обязательные переменные для выбранного режима. 3. Проверьте существование файла `GOOGLE_APPLICATION_CREDENTIALS` (если включен bot). 4. Убедитесь, что `DB_PATH` валиден и директория для SQLite доступна на запись.