deployment/stacks/gitea.yml

66 lines
1.3 KiB
YAML

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: