services: server: image: gitea/gitea:1.23.7 container_name: gitea-server restart: always environment: - TZ=America/New_York - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=${GITEA_DB_PASSWORD} volumes: - /share/Media/gitea/data:/data labels: - "traefik.enable=true" - "traefik.http.routers.gitea.rule=Host(`gitea.kaspers.us`)" # ⚠️ UPDATE to your domain - "traefik.http.routers.gitea.entrypoints=websecure" # Assumes your HTTP entrypoint is 'web' - "traefik.http.services.gitea.loadbalancer.server.port=3000" - "traefik.http.routers.gitea.tls=true" - "traefik.http.routers.gitea.tls.certresolver=letsencrypt" - "traefik.docker.network=proxy" - "traefik.constraint=proxy-public" networks: - gitea-net - proxy ports: - 3105:3000 - 222:22 depends_on: - db db: image: postgres:17.4 container_name: gitea-db restart: always environment: - TZ=America/New_York - POSTGRES_DB=gitea - POSTGRES_USER=gitea - POSTGRES_PASSWORD=${GITEA_DB_PASSWORD} volumes: - /share/Media/gitea/db:/var/lib/postgresql/data networks: - gitea-net networks: gitea-net: driver: bridge proxy: external: true