8462b16305762a1606c1c7d2de7e100f6afc29bc
FamilyHUB
Структура репозитория
backend/— текущий Go backend и миграции приложения.frontend/— директория под Vue-приложение.infra/— docker-compose, Dockerfile'ы и локальные infra-данные для разработки.docs/— документация проекта.
Заполнение конфигурации
Приложение читает переменные окружения из .env (через godotenv) и затем из окружения процесса.
1. Создайте файл .env в backend/
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=/openapi
2. Обязательные переменные по режимам
RUN_MODE поддерживает значения:
botapistandalone
Если RUN_MODE=bot или RUN_MODE=standalone, обязательны:
BOT_TOKENGOOGLE_APPLICATION_CREDENTIALS
Если RUN_MODE=api или RUN_MODE=standalone, обязательна:
API_SECRET
3. Дефолты для API-режима
Если не заданы, будут использованы:
DB_PATH=sqlite://data/app.dbAPI_HOST=localhostAPI_PORT=8000OPEN_API_ENDPOINT=/openapi
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. Быстрая проверка перед запуском
- Убедитесь, что
RUN_MODEвыставлен корректно. - Проверьте обязательные переменные для выбранного режима.
- Проверьте существование файла
GOOGLE_APPLICATION_CREDENTIALS(если включен bot). - Убедитесь, что
DB_PATHвалиден и директория для SQLite доступна на запись.
6. Запуск backend
cd backend
go run ./src
7. Запуск инфраструктуры
cd infra
docker compose up -d
Description
Languages
Go
54%
Vue
37%
TypeScript
6.7%
CSS
1.5%
Dockerfile
0.4%
Other
0.3%