networks: gitea: external: false traefik-network: external: true services: gitea: image: docker.gitea.com/gitea:1.25.3 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=${POSTGRES_DB} - GITEA__database__USER=${POSTGRES_USER} - GITEA__database__PASSWD=${POSTGRES_PASSWORD} networks: - traefik-network - gitea volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/locatltime:ro labels: - "traefik.enable=true" - "traefik.docker.network=traefik-network" - "traefik.http.routers.gitea.rule=Host(`${SERVICE_DOMAIN}`)" - "traefik.http.routers.gitea.entrypoints=https" - "traefik.http.routers.gitea.tls.certresolver=letsencrypt" - "traefik.http.routers.gitea.service=gitea-service" - "traefik.http.services.gitea-service.loadbalancer.server.port=3000" - "traefik.tcp.routers.gitea-openssh.rule=HostSNI(`*`)" - "traefik.tcp.routers.gitea-openssh.entrypoints=gitea-openssh" - "traefik.tcp.routers.gitea-openssh.service=gitea-openssh" - "traefik.tcp.services.gitea-openssh-service.loadbalancer.server.port=22" restart: unless-stopped depends_on: - db db: image: postgres:14.20-alpine3.23 environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} restart: unless-stopped networks: - gitea volumes: - ./postgre:/var/lib/postgresql/data