networks: web: external: true gitea: driver: bridge volumes: gitea-data: driver: local services: gitea: restart: always image: "gitea/gitea:1.22.3" environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=db:3306 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - gitea-data:/data labels: - "traefik.enable=true" - "traefik.http.services.gitea-service.loadbalancer.server.port=3000" - "traefik.http.routers.gitea-http.entrypoints=web" - "traefik.http.routers.gitea-http.middlewares=https-redirect@docker" - "traefik.http.routers.gitea-http.rule=Host(`${GITEA_HOST}`)" - "traefik.http.routers.gitea-https.entrypoints=websecure" - "traefik.http.routers.gitea-https.tls=true" - "traefik.http.routers.gitea-https.tls.certresolver=letsencrypt" - "traefik.http.routers.gitea-https.rule=Host(`${GITEA_HOST}`)" networks: - gitea - web depends_on: - db db: image: mysql:8 restart: always environment: - MYSQL_ROOT_PASSWORD=gitea - MYSQL_USER=gitea - MYSQL_PASSWORD=gitea - MYSQL_DATABASE=gitea networks: - gitea volumes: - ./mysql:/var/lib/mysql