51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
services:
|
|
vikunja:
|
|
image: vikunja/vikunja:latest
|
|
environment:
|
|
VIKUNJA_DATABASE_TYPE: postgres
|
|
VIKUNJA_DATABASE_HOST: 10.0.4.10
|
|
VIKUNJA_DATABASE_USER: admin
|
|
VIKUNJA_DATABASE_PASSWORD_FILE: /run/secrets/postgres-master
|
|
VIKUNJA_DATABASE_DATABASE: vikunja
|
|
VIKUNJA_SERVICE_PUBLICURL: https://tasks.frostlabs.me
|
|
VIKUNJA_SERVICE_JWTSECRET_FILE: /run/secrets/vikunja-jwt
|
|
secrets:
|
|
- postgres-master
|
|
- vikunja-jwt
|
|
volumes:
|
|
- /home/doc/swarm-data/appdata/vikunja/files:/app/vikunja/files
|
|
- /home/doc/swarm/swarm-production/stacks/apps/vikunja/config.yml:/etc/vikunja/config.yml:ro
|
|
networks:
|
|
- homelab
|
|
# healthcheck:
|
|
# test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3456/api/v1/info"]
|
|
# interval: 30s
|
|
# timeout: 5s
|
|
# retries: 3
|
|
# start_period: 30s
|
|
deploy:
|
|
replicas: 1
|
|
resources:
|
|
limits:
|
|
memory: 1G
|
|
cpus: '1.0'
|
|
reservations:
|
|
memory: 512M
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.vikunja.rule=Host(`tasks.frostlabs.me`)"
|
|
- "traefik.http.routers.vikunja.entrypoints=websecure"
|
|
- "traefik.http.routers.vikunja.tls.certresolver=cloudflare"
|
|
- "traefik.http.services.vikunja.loadbalancer.server.port=3456"
|
|
- "traefik.swarm.network=homelab"
|
|
|
|
networks:
|
|
homelab:
|
|
external: true
|
|
|
|
secrets:
|
|
postgres-master:
|
|
external: true
|
|
vikunja-jwt:
|
|
external: true
|