services: gitea: image: docker.io/gitea/gitea:1.23.1 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea restart: unless-stopped networks: - gitea volumes: - ../../gitea/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro labels: - traefik.enable=true # HTTP Router - traefik.http.routers.gitea-http.rule=Host(`git.it.arkansasag.gov`) - traefik.http.routers.gitea-http.entrypoints=web - traefik.http.services.gitea.loadbalancer.server.port=3000 # HTTPS Router - traefik.http.routers.gitea-https.rule=Host(`git.it.arkansasag.gov`) - traefik.http.routers.gitea-https.entrypoints=websecure - traefik.http.routers.gitea-https.tls=true - traefik.http.routers.gitea-https.tls.certresolver=resolver # SSH Router - traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`) - traefik.tcp.routers.gitea-ssh.entrypoints=ssh - traefik.tcp.routers.gitea-ssh.service=gitea-ssh - traefik.tcp.services.gitea-ssh.loadbalancer.server.port=2222 - traefik.tcp.routers.gitea-ssh.tls=true - traefik.tcp.routers.gitea-ssh.tls.passthrough=true depends_on: - db db: image: postgres:14 container_name: gitea-db restart: unless-stopped environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=gitea - POSTGRES_DB=gitea networks: - gitea volumes: - ../../gitea/postgres:/var/lib/postgresql/data networks: gitea: external: true