Files
gitea-docker-compose/docker-compose.yml
T
2026-06-06 14:34:55 +00:00

133 lines
3.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gitea с PostgreSQL, Redis и Action Runner
# Запуск: docker compose up -d
services:
# PostgreSQL база данных
db:
image: postgres:16-alpine
container_name: gitea-db
restart: always
environment:
- POSTGRES_DB=gitea
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea-secret-2026-nixg.ru
- PGDATA=/var/lib/postgresql/data
volumes:
- ./postgres:/var/lib/postgresql/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- gitea-net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U gitea -d gitea"]
interval: 10s
timeout: 5s
retries: 5
labels:
- "caddy=off"
# Redis для кэширования
redis:
image: redis:7-alpine
container_name: gitea-redis
restart: always
command: ["redis-server", "--appendonly", "yes"]
volumes:
- ./redis:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- gitea-net
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
labels:
- "caddy=off"
# Gitea основной сервис
gitea:
image: docker.gitea.com/gitea:1.26.2
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
# База данных PostgreSQL
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea-db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea-secret-2026-nixg.ru
# Redis кэш
- GITEA__cache__ENABLED=true
- GITEA__cache__ADAPTER=redis
- GITEA__cache__HOST=redis://gitea-redis:6379/0
# Session
- GITEA__session__PROVIDER=redis
- GITEA__session__PROVIDER_CONFIG=redis://gitea-redis:6379/0
# Сервер настройки
- GITEA__server__DOMAIN=gitea.nixg.ru
- GITEA__server__HTTP_PORT=3000
- GITEA__server__ROOT_URL=https://gitea.nixg.ru/
- GITEA__server__SSH_PORT=2222
- GITEA__server__SSH_DOMAIN=gitea.nixg.ru
# Gitea Actions
- GITEA__actions__ENABLED=true
# Безопасность
- GITEA__server__DISABLE_REGISTRATION=true
- GITEA__server__REQUIRE_SIGNIN_VIEW=false
- GITEA__service__ENABLE_NOTIFY_MAIL=false
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
networks:
- gitea-net
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
labels:
- "caddy=https://gitea.nixg.ru"
- "caddy.reverse_proxy={{upstreams 3000}}"
# Gitea Action Runner
act-runner:
image: gitea/act_runner:latest
container_name: gitea-act-runner
restart: always
depends_on:
- gitea
environment:
- GITEA_INSTANCE_URL=https://gitea.nixg.ru
- GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_TOKEN}
- GITEA_RUNNER_NAME=bigbox-runner
- GITEA_RUNNER_LABELS=ubuntu-24.04:docker://node:20,ubuntu-24.04:docker://python:3.12,ubuntu-24.04:docker://golang:1.22
# Пропуск проверки SSL для самоподписанных сертификатов
- GITEA_INSECURE_SKIP_VERIFY=true
volumes:
- ./runner:/data
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- gitea-net
labels:
- "caddy=off"
networks:
gitea-net:
driver: bridge
name: gitea-net