66d52649c4
docs/ops/gitea (5 доков миграции и бэкапа Gitea) + docs/support (YC SSH-тикет) в историю. .gitignore: локальные бэкапы settings.json, эталон-снимки, Ctemp-дампы - чтобы не висели в untracked. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
86 lines
3.1 KiB
YAML
86 lines
3.1 KiB
YAML
# docker-compose для self-hosted Gitea в Yandex Cloud.
|
|
# Часть комплекта переноса — см. 2026-06-15-gitea-yc-migration-runbook.md (шаги 3-4).
|
|
#
|
|
# Перед запуском заменить плейсхолдеры:
|
|
# <DOMAIN> — домен Gitea (напр. git.liderra.ru)
|
|
# <DB_PASSWORD> — надёжный пароль БД (одинаковый в db и server)
|
|
#
|
|
# HTTPS поднимает Caddy автоматически (Let's Encrypt). Рядом с этим файлом создать файл "Caddyfile"
|
|
# с содержимым (без отступа), подставив домен:
|
|
# ------------------------------------------------------------------
|
|
# <DOMAIN> {
|
|
# reverse_proxy server:3000
|
|
# }
|
|
# ------------------------------------------------------------------
|
|
#
|
|
# ⚠️ проверить: актуальные стабильные теги образов gitea/gitea, postgres, caddy на момент установки.
|
|
|
|
services:
|
|
db:
|
|
image: postgres:16 # ⚠️ проверить актуальную стабильную версию
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: gitea
|
|
POSTGRES_PASSWORD: "<DB_PASSWORD>"
|
|
POSTGRES_DB: gitea
|
|
volumes:
|
|
- gitea-db:/var/lib/postgresql/data
|
|
networks: [gitea-net]
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U gitea"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
server:
|
|
image: gitea/gitea:1.22 # ⚠️ проверить актуальную стабильную версию
|
|
restart: unless-stopped
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
USER_UID: 1000
|
|
USER_GID: 1000
|
|
GITEA__database__DB_TYPE: postgres
|
|
GITEA__database__HOST: "db:5432"
|
|
GITEA__database__NAME: gitea
|
|
GITEA__database__USER: gitea
|
|
GITEA__database__PASSWD: "<DB_PASSWORD>"
|
|
GITEA__server__DOMAIN: "<DOMAIN>"
|
|
GITEA__server__ROOT_URL: "https://<DOMAIN>/"
|
|
GITEA__server__SSH_DOMAIN: "<DOMAIN>"
|
|
# Регистрацию извне выключаем — пользователей заводит только админ.
|
|
GITEA__service__DISABLE_REGISTRATION: "true"
|
|
# LFS включён, чтобы перенос больших файлов работал (см. runbook шаг 6-7).
|
|
GITEA__server__LFS_START_SERVER: "true"
|
|
volumes:
|
|
- gitea-data:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
networks: [gitea-net]
|
|
ports:
|
|
# SSH-доступ к git по нестандартному порту (опционально; HTTPS-доступ идёт через Caddy).
|
|
- "2222:22"
|
|
|
|
caddy:
|
|
image: caddy:2 # ⚠️ проверить актуальную стабильную версию
|
|
restart: unless-stopped
|
|
depends_on: [server]
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
|
- caddy-data:/data
|
|
- caddy-config:/config
|
|
networks: [gitea-net]
|
|
|
|
volumes:
|
|
gitea-data:
|
|
gitea-db:
|
|
caddy-data:
|
|
caddy-config:
|
|
|
|
networks:
|
|
gitea-net:
|