diff --git a/stacks/gitea.yml b/stacks/gitea.yml index 07963a3..6781723 100644 --- a/stacks/gitea.yml +++ b/stacks/gitea.yml @@ -1,74 +1,79 @@ version: '3' services: - app: - # Latest contains a development version - image: 'gitea/gitea:1.15.8' + app: + # Latest contains a development version + image: 'gitea/gitea:1.15.8' + + deploy: + mode: 'replicated' + replicas: 1 + placement: + constraints: + - 'node.labels.class==gitea' + 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' - deploy: - mode: 'replicated' - replicas: 1 - placement: - constraints: - - 'node.labels.class==gitea' - 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' - - configs: - - source: gitea_v1 - target: /data/gitea/conf/app.ini - environment: - - 'DB_TYPE=postgres' - - 'DB_HOST=db:5432' - - 'DB_NAME=gitea' - - 'DB_USER=gitea' - - 'DB_PASSWD=gitea' - - 'LFS_START_SERVER=true' - - 'DISABLE_REGISTRATION=true' - - 'GITEA__server__LFS_JWT_SECRET_FILE=/run/secrets/gitea_lfs_jwt_secret' - - 'GITEA__security__SECRET_KEY_FILE=/run/secrets/gitea_secret_key' - - 'GITEA__security__INTERNAL_TOKEN_FILE=/run/secrets/gitea_internal_token' - - 'GITEA__oauth2__JWT_SECRET_FILE=/run/secrets/gitea_jwt_secret' - 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' + configs: + - source: gitea_v1 + target: /data/gitea/conf/app.ini + environment: + - 'DB_TYPE=postgres' + - 'DB_HOST=db:5432' + - 'DB_NAME=gitea' + - 'DB_USER=gitea' + - 'DB_PASSWD=gitea' + - 'LFS_START_SERVER=true' + - 'DISABLE_REGISTRATION=true' + - 'GITEA__server__LFS_JWT_SECRET_FILE=/run/secrets/gitea_lfs_jwt_secret' + - 'GITEA__security__SECRET_KEY_FILE=/run/secrets/gitea_secret_key' + - 'GITEA__security__INTERNAL_TOKEN_FILE=/run/secrets/gitea_internal_token' + - 'GITEA__oauth2__JWT_SECRET_FILE=/run/secrets/gitea_jwt_secret' + 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' + secrets: + - gitea_internal_token + - gitea_jwt_secret + - gitea_lfs_jwt_secret + - gitea_secret_key - db: - image: 'postgres:14.1-alpine' - - deploy: - mode: 'replicated' - replicas: 1 - placement: - constraints: - - 'node.labels.class==gitea' + db: + image: 'postgres:14.1-alpine' + + deploy: + mode: 'replicated' + replicas: 1 + placement: + constraints: + - 'node.labels.class==gitea' - environment: - - 'POSTGRES_USER=gitea' - - 'POSTGRES_PASSWORD=gitea' - - 'POSTGRES_DB=gitea' - volumes: - - 'db-data:/var/lib/postgresql/data' + environment: + - 'POSTGRES_USER=gitea' + - 'POSTGRES_PASSWORD=gitea' + - 'POSTGRES_DB=gitea' + volumes: + - 'db-data:/var/lib/postgresql/data' configs: gitea_v1: external: true networks: - public: - external: true + public: + external: true secrets: gitea_internal_token: