services: gitea-server: image: docker.gitea.com/gitea:latest environment: - USER_UID=1000 - USER_GID=1000 env_file: git.env networks: - traefik_backend - postgresql_db-backend volumes: - /volume1/docker/gitea/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "222:22" deploy: labels: - traefik.enable=true - traefik.http.routers.gitea.entrypoints=websecure - "traefik.http.routers.gitea.rule=Host(`git.bryanmail.net`)" - traefik.http.routers.gitea.tls=true - traefik.http.routers.gitea.tls.certresolver=letsencrypt - traefik.docker.network=traefik_backend - traefik.http.services.gitea.loadbalancer.server.port=3000 - traefik.http.services.gitea.loadbalancer.server.scheme=http - traefik.http.routers.gitea.service=gitea - traefik.http.routers.gitea.middlewares=crowdsec@file gitea-runner: image: docker.io/gitea/act_runner:latest networks: - traefik_backend env_file: git.env environment: CONFIG_FILE: /config.yaml GITEA_RUNNER_EPHEMERAL: "1" volumes: - /volume1/docker/gitea/runner/config.yaml:/config.yaml - /var/run/docker.sock:/var/run/docker.sock gitea-mcp: image: docker.gitea.com/gitea-mcp-server:latest command: ["/app/gitea-mcp", "-t", "http", "--port", "8080"] environment: - GITEA_ACCESS_TOKEN=${GITEA_MCP_ACCESS_TOKEN} - GITEA_HOST=${GITEA_MCP_HOST} networks: - traefik_backend deploy: replicas: 1 restart_policy: condition: on-failure delay: 5s networks: traefik_backend: external: true postgresql_db-backend: external: true