version: '3.8' networks: traefik-public: external: true gitea-internal: driver: bridge volumes: gitea_data: gitea_db_data: services: gitea: image: gitea/gitea:latest container_name: gitea restart: unless-stopped volumes: - gitea_data:/data - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro networks: - traefik-public - gitea-internal ports: - "2222:22" environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=gitea-db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=${GITEA_DB_PASSWORD} - GITEA__server__DOMAIN=git.sterl.xyz - GITEA__server__ROOT_URL=https://git.sterl.xyz - GITEA__server__SSH_DOMAIN=git.sterl.xyz - GITEA__server__SSH_PORT=2222 - GITEA__service__DISABLE_REGISTRATION=false depends_on: - gitea-db labels: - "traefik.enable=true" - "traefik.http.routers.gitea.rule=Host(`git.sterl.xyz`)" - "traefik.http.routers.gitea.entrypoints=websecure" - "traefik.http.routers.gitea.tls.certresolver=cfresolver" - "traefik.http.services.gitea.loadbalancer.server.port=3000" - "docktail.enable=true" - "docktail.name=gitea" - "docktail.container_port=3000" gitea-db: image: postgres:15-alpine container_name: gitea-db restart: unless-stopped volumes: - gitea_db_data:/var/lib/postgresql/data networks: - gitea-internal environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=${GITEA_DB_PASSWORD} - POSTGRES_DB=gitea