version: "3" services: server: image: gitea/gitea:1.21.4 container_name: gitea restart: always networks: - gitea - backend env_file: - stack.env volumes: - ${GITEA_DIR}:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - ${GITEA_PORT_HTTP}:3000 - ${GITEA_PORT_SSH}:22 depends_on: - db labels: - traefik.enable=true # HTTP redirection to HTTPS - traefik.http.routers.gitea.entrypoints=web - traefik.http.routers.gitea.rule=Host(`${GITEA_URL}`) - traefik.http.middlewares.gitea-https-redirect.redirectscheme.scheme=https - traefik.http.routers.gitea.middlewares=gitea-https-redirect # HTTPS config - traefik.http.routers.gitea-secure.entrypoints=websecure - traefik.http.routers.gitea-secure.rule=Host(`${GITEA_URL}`) - traefik.http.routers.gitea-secure.tls=true - traefik.http.routers.gitea-secure.tls.certresolver=myresolver - traefik.http.services.gitea-secure.loadbalancer.server.port=3000 - traefik.docker.network=proxy db: image: postgres:14 restart: always env_file: - stack.env networks: - gitea volumes: - ${GITEA_DB_DIR}:/var/lib/postgresql/data networks: gitea: external: false backend: external: true