version: "3.8" networks: traefik: external: true name: traefik_default app: driver: bridge services: db: image: mariadb:10 command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci environment: MYSQL_ROOT_PASSWORD: supersecret MYSQL_DATABASE: vikunja MYSQL_USER: vikunja MYSQL_PASSWORD: changeme volumes: - ./db:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u$${MYSQL_USER} -p$${MYSQL_PASSWORD} || exit 1"] interval: 5s timeout: 3s retries: 20 start_period: 30s restart: unless-stopped networks: - app vikunja: image: vikunja/vikunja:0.24.6 depends_on: db: condition: service_healthy environment: VIKUNJA_SERVICE_PUBLICURL: https://vikunja.rozic-dev.com VIKUNJA_DATABASE_TYPE: mysql VIKUNJA_DATABASE_HOST: db VIKUNJA_DATABASE_DATABASE: vikunja VIKUNJA_DATABASE_USER: vikunja VIKUNJA_DATABASE_PASSWORD: changeme VIKUNJA_SERVICE_JWTSECRET: "replace-with-a-long-random-secret" VIKUNJA_SERVICE_ENABLEREGISTRATION: "false" # ports: # - "3456:3456" # Not needed when using Traefik volumes: - ./files:/app/vikunja/files labels: - traefik.enable=true - traefik.docker.network=traefik_default - traefik.http.routers.vikunja.rule=Host(`vikunja.rozic-dev.com`) - traefik.http.routers.vikunja.entrypoints=websecure - traefik.http.routers.vikunja.tls=true - traefik.http.routers.vikunja.tls.certresolver=letsencrypt - traefik.http.routers.vikunja.service=vikunja - traefik.http.services.vikunja.loadbalancer.server.scheme=http - traefik.http.services.vikunja.loadbalancer.server.port=3456 - traefik.http.middlewares.vikunja-compress.compress=true - traefik.http.middlewares.vikunja-headers.headers.stsSeconds=31536000 - traefik.http.middlewares.vikunja-headers.headers.stsIncludeSubdomains=true - traefik.http.middlewares.vikunja-headers.headers.stsPreload=true - traefik.http.middlewares.vikunja-headers.headers.contentTypeNosniff=true - traefik.http.middlewares.vikunja-headers.headers.browserXssFilter=true - traefik.http.routers.vikunja.middlewares=vikunja-compress,vikunja-headers restart: unless-stopped networks: - app - traefik