pyinfra/services/gitea/docker-compose.yml
2024-09-28 10:51:22 +02:00

60 lines
1.5 KiB
YAML

networks:
traefik-net:
external: true
name: traefik-net
x-traefik: &x-traefik
networks:
- traefik-net
- default
volumes:
gitea-data:
name: gitea
gitea-database-data:
name: gitea-database-data
gitea-pg-backup:
name: gitea-pg-backup
services:
gitea:
image: gitea/gitea:1.22.2
depends_on:
- db
volumes:
- gitea-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
<<: *x-traefik
deploy:
labels:
- traefik.enable=true
- traefik.docker.network=traefik-net
- traefik.http.routers.gitea.rule=Host(`${HOST}`)
- traefik.http.routers.gitea.entrypoints=${ENTRYPOINTS:-websecure}
- traefik.http.routers.gitea.tls.certresolver=le
- traefik.http.services.gitea.loadbalancer.server.port=3000
db:
image: docker.io/library/postgres:16
volumes:
- gitea-database-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${GITEA__database__NAME}
- POSTGRES_USER=${GITEA__database__USER}
- POSTGRES_PASSWORD=${GITEA__database__PASSWD}
database-backup:
image: prodrigestivill/postgres-backup-local:16
depends_on:
- db
volumes:
- gitea-pg-backup:/backups
environment:
- POSTGRES_EXTRA_OPTS=-Z 6 -F c
- POSTGRES_DB=${GITEA__database__NAME}
- POSTGRES_USER=${GITEA__database__USER}
- POSTGRES_PASSWORD=${GITEA__database__PASSWD}
- POSTGRES_HOST=db