66 lines
1.3 KiB
YAML
66 lines
1.3 KiB
YAML
version: '3.4'
|
|
|
|
services:
|
|
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'
|
|
|
|
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.1-alpine'
|
|
|
|
deploy:
|
|
mode: 'replicated'
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- 'node.labels.class==gitea'
|
|
|
|
healthcheck:
|
|
test: pg_isready
|
|
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:
|