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