version: '3.4' services: app: # Latest contains a development version image: 'gitea/gitea:1.20.1' deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.labels.class.gitea==true' labels: - 'traefik.enable=true' - 'traefik.http.routers.gitea.rule=Host(`git.rustybever.be`)' - 'traefik.http.routers.gitea.tls=true' - 'traefik.http.routers.gitea.tls.certresolver=letsEncrypt' - 'traefik.http.services.gitea.loadbalancer.server.port=3000' networks: - 'default' - 'public' ports: - '22:22' volumes: - 'data:/data' - 'repos:/data/git/repositories' - 'lfs:/data/git/lfs' - '/etc/timezone:/etc/timezone:ro' - '/etc/localtime:/etc/localtime:ro' db: image: 'postgres:14.8-alpine' deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.labels.class.gitea==true' healthcheck: test: pg_isready -U gitea interval: 30s timeout: 5s retries: 3 start_period: 15s environment: - 'POSTGRES_USER=gitea' - 'POSTGRES_PASSWORD=gitea' - 'POSTGRES_DB=gitea' volumes: - 'db-data:/var/lib/postgresql/data' networks: public: external: true volumes: data: db-data: repos: lfs: