Files
tgit/docker-compose.yml
T
ElebobaandClaude Opus 5.5 dbb17bd774 feat(bot): Коммит — навигация по дереву репозитория загрузок
- 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>
2026-10-15 19:10:30 +03:00

44 lines
1.0 KiB
YAML

# Local / any-host stack: `make up`. Server overrides — infra/deploy/docker-compose.server.yml (#12).
services:
bot:
build: .
env_file: .env
environment:
DATABASE_URL: postgresql+asyncpg://tgit:${POSTGRES_PASSWORD:-tgit}@postgres:5432/tgit
GIT_CLONE_DIR: /data/uploads
volumes:
- uploads:/data
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
mem_limit: 256m
labels:
tgit.managed: "true"
logging:
options: { max-size: "10m", max-file: "3" }
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: tgit
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-tgit}
POSTGRES_DB: tgit
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U tgit -d tgit"]
interval: 3s
timeout: 3s
retries: 20
restart: unless-stopped
mem_limit: 256m
labels:
tgit.managed: "true"
logging:
options: { max-size: "10m", max-file: "3" }
volumes:
pgdata:
uploads: