diff options
| author | prospanclaudebot <[email protected]> | 2026-07-10 22:10:31 +0000 |
|---|---|---|
| committer | prospanclaudebot <[email protected]> | 2026-07-10 22:10:31 +0000 |
| commit | 966b62d9bd7e483f1e9484a5a99d8c2db475171c (patch) | |
| tree | df3a27730963d68d515272b4246dc79d96945744 /docker-compose.yml | |
| download | pacan-git-main.tar.gz pacan-git-main.zip | |
Diffstat (limited to 'docker-compose.yml')
| -rw-r--r-- | docker-compose.yml | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bf0e5fb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,44 @@ +name: pacan-git + +services: + web: # cgit (браузинг) + git-http-backend (clone/push) + build: ./web + volumes: + - repos:/repos + expose: + - "80" + restart: unless-stopped + + bot: # телеграм-бот: /new /list /info /del + build: ./bot + environment: + BOT_TOKEN: ${BOT_TOKEN:?нужен токен от @BotFather} + ADMINS: ${ADMINS:-} + WHITELIST_CHAT: ${WHITELIST_CHAT:-} + PUBLIC_URL: ${PUBLIC_URL:-https://git.ancap.in.ua} + SSH_HOST: ${SSH_HOST:-} + REPOS_DIR: /repos + KEYS_DIR: /keys + GIT_NS: /usr/local/bin/git-ns # форс-команда в authorized_keys (её читает ssh-сервис) + volumes: + - repos:/repos + - keys:/keys + restart: unless-stopped + + tunnel: # cloudflared: git.ancap.in.ua -> http://web:80 (HTTP) + image: cloudflare/cloudflared:latest + command: tunnel --no-autoupdate run --token ${TUNNEL_TOKEN:?нужен cloudflared tunnel token} + restart: unless-stopped + + ssh: # git по ssh-ключам: пуш только в свой неймспейс + build: ./ssh + volumes: + - repos:/repos + - keys:/keys + ports: + - "${SSH_PORT:-2222}:22" # SSH через HTTP-туннель не ходит — пробрось порт или свой TCP-туннель + restart: unless-stopped + +volumes: + repos: + keys: |
