# Vikunja - The open-source, self-hostable to-do app # Docs: https://vikunja.io/docs/full-docker-example/ services: vikunja: container_name: vikunja image: vikunja/vikunja:latest env_file: - .env volumes: - ./files:/app/vikunja/files depends_on: vikunja-db: condition: service_healthy restart: unless-stopped networks: - homelab - vikunja_internal labels: traefik.enable: true traefik.docker.network: homelab traefik.http.routers.vikunja.rule: Host(`tasks.fig.systems`) traefik.http.routers.vikunja.entrypoints: websecure traefik.http.routers.vikunja.tls.certresolver: letsencrypt traefik.http.services.vikunja.loadbalancer.server.port: 3456 traefik.http.routers.vikunja.middlewares: tinyauth vikunja-db: container_name: vikunja-db image: postgres:18 env_file: - .env volumes: - ./db:/var/lib/postgresql/data restart: unless-stopped networks: - vikunja_internal healthcheck: test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"] interval: 2s start_period: 30s networks: homelab: external: true vikunja_internal: name: vikunja_internal driver: bridge