- UploadsRepo: локальный клон, fetch не чаще fetch_interval, ls-tree -z (пробелы/кириллица), cat-file, последний коммит по пути; git без shell, ssh с -F /dev/null (без конфига хоста) - «📝 Коммит»: папки/файлы с размерами, ⬆️ Вверх, страницы по 20, карточка файла с последним коммитом, «👁 Показать» (<pre> или документом); в кнопках только индексы - ключ для контейнера: GIT_SSH_KEY_B64 → временный файл 0600 (смонтированный файл хоста контейнерному uid не прочитать); volume /data для клона - тесты на настоящем bare-репозитории во временной папке Refs #8 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.9 KiB
Bash
37 lines
1.9 KiB
Bash
# tgit — пример конфигурации. Скопировать в .env и заполнить: `cp .env.example .env`.
|
|
# .env не коммитится. Секреты помечены (secret).
|
|
|
|
# --- Telegram (#4, #25) ---
|
|
TELEGRAM_BOT_TOKEN= # (secret) токен от @BotFather
|
|
ADMIN_IDS= # Telegram ID первых администраторов через запятую
|
|
LOG_LEVEL=INFO
|
|
|
|
# --- База данных ---
|
|
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
|
|
SOURCECRAFT_UPLOADS_REPO=rogachevegorushka/tgit-uploads
|
|
# SOURCECRAFT_RUN_URL_TEMPLATE=https://sourcecraft.dev/{repo}/cicd/runs/{run}
|
|
|
|
# --- Git: коммиты в репозиторий загрузок (#7, #9) ---
|
|
GIT_SSH_KEY_PATH= # путь к приватному deploy-ключу бота (монтируется read-only);
|
|
# публичная часть — deploy key с правом записи в tgit-uploads
|
|
GIT_SSH_KEY_B64= # (secret) для Docker: тот же ключ в base64 — base64 -w0 ~/.ssh/tgit_bot_ed25519
|
|
GIT_UPLOADS_URL=git@ssh.sourcecraft.dev:rogachevegorushka/tgit-uploads.git
|
|
# GIT_CLONE_DIR=data/uploads # локальный клон репозитория загрузок (в Docker — volume /data/uploads)
|
|
|
|
# --- 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)
|