feat(infra): каркас проекта — uv, ruff, mypy, pytest, Docker Compose
- pyproject: Python 3.12, зависимости ADR-009, ruff/mypy strict/pytest/coverage - app/: точка входа-заглушка с graceful shutdown по SIGTERM - Dockerfile: multi-stage, uv, non-root (uid 10001), git+ssh для коммитов (#9); apt по HTTPS — в некоторых сетях обычный HTTP к deb.debian.org заблокирован - docker-compose: bot + postgres 16, healthcheck, лимиты памяти, ротация логов - Makefile: install/lint/fmt/test/cov/up/down/logs/ps; .env.example Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# tgit — пример конфигурации. Скопировать в .env и заполнить: `cp .env.example .env`.
|
||||
# .env не коммитится. Секреты помечены (secret).
|
||||
|
||||
# --- Telegram (#4, #25) ---
|
||||
TELEGRAM_BOT_TOKEN= # (secret) токен от @BotFather
|
||||
ADMIN_IDS= # Telegram ID первых администраторов через запятую
|
||||
|
||||
# --- База данных ---
|
||||
POSTGRES_PASSWORD=tgit # (secret на сервере) пароль Postgres в Compose
|
||||
# DATABASE_URL задаётся в docker-compose.yml; для запуска без Docker:
|
||||
# DATABASE_URL=postgresql+asyncpg://tgit:tgit@localhost:5432/tgit
|
||||
|
||||
# --- SourceCraft (#7, #10) ---
|
||||
SOURCECRAFT_TOKEN= # (secret) персональный токен API
|
||||
UPLOADS_REPO=rogachevegorushka/tgit-uploads
|
||||
|
||||
# --- Git: коммиты в репозиторий загрузок (#7, #9) ---
|
||||
GIT_SSH_KEY_PATH= # путь к приватному deploy-ключу бота (монтируется read-only)
|
||||
|
||||
# --- LLM (#17) ---
|
||||
LLM_PROVIDER=mock # mock | openai_compat
|
||||
LLM_BASE_URL=
|
||||
LLM_MODEL=
|
||||
LLM_API_KEY= # (secret)
|
||||
|
||||
# --- Для Claude Code: трекер (не нужно боту) ---
|
||||
GITEA_URL=https://gitea.24studbank.ru
|
||||
GITEA_REPO=HSE/tgit
|
||||
GITEA_USER=
|
||||
GITEA_TOKEN= # (secret)
|
||||
Reference in New Issue
Block a user