infrastructure/ansible/roles/vikunja/files/docker-compose.yml

60 lines
1.7 KiB
YAML

version: "2.3"
services:
vikunja:
image: vikunja/vikunja:latest
restart: unless-stopped
environment:
- VIKUNJA_DATABASE_HOST=db
- VIKUNJA_DATABASE_PASSWORD=vikunja
- VIKUNJA_DATABASE_TYPE=postgres
- VIKUNJA_DATABASE_USER=vikunja
- VIKUNJA_DATABASE_DATABASE=vikunja
- VIKUNJA_SERVICE_FRONTENDURL=https://tasks.jakehoward.tech
- VIKUNJA_SERVICE_JWTSECRET="{{ vault_jwt_secret }}"
- VIKUNJA_SERVICE_ENABLEREGISTRATION=false
- VIKUNJA_SERVICE_TIMEZONE={{ timezone }}
- VIKUNJA_REDIS_HOST=redis:6379
- VIKUNJA_REDIS_ENABLED=true
- VIKUNJA_LOG_PATH=/dev/stdout
- VIKUNJA_KEYVALUE_TYPE=redis
- VIKUNJA_MAILER_ENABLED=true
- VIKUNJA_MAIL_FROMEMAIL={{ vault_from_email }}
- VIKUNJA_MAILER_USERNAME={{ vault_smtp_username }}
- VIKUNJA_MAILER_PASSWORD={{ vault_smtp_password }}
- VIKUNJA_MAILER_HOST=smtp.eu.mailgun.org
- VIKUNJA_SENTRY_DSN=
- TZ={{ timezone }}
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
labels:
- traefik.enable=true
- traefik.http.routers.vikunja.rule=Host(`tasks.jakehoward.tech`)
volumes:
- /mnt/tank/app-data/vikunja/files:/app/vikunja/files
depends_on:
- db
- redis
networks:
- default
- traefik
db:
image: postgres:16-alpine
restart: unless-stopped
volumes:
- /mnt/speed/dbs/postgres/vikunja/:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=vikunja
- POSTGRES_USER=vikunja
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- /mnt/speed/dbs/redis/vikunja/:/data
networks:
traefik:
external: true