From 7eb63a921c045ef0a458e2e39cc38e0e764af355 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 23 Mar 2026 02:57:15 +0000 Subject: [PATCH] feat: add vikunja stack (Coolify-ready) - pull_policy: always on vikunja service - hardcoded bind mounts: /opt/vikunja/{postgres,files} - port hardcoded in label: 3456 (Gotcha 6) - removed Portainer Traefik router labels - vikunja_internal: driver bridge (no fixed name) - proxy: external: true Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- vikunja/docker-compose.yml | 57 ++++++++++++++++++++++++++++++++++++++ vikunja/stack.env | 6 ++++ 2 files changed, 63 insertions(+) create mode 100644 vikunja/docker-compose.yml create mode 100644 vikunja/stack.env diff --git a/vikunja/docker-compose.yml b/vikunja/docker-compose.yml new file mode 100644 index 0000000..26b0313 --- /dev/null +++ b/vikunja/docker-compose.yml @@ -0,0 +1,57 @@ +services: + vikunja-db: + image: postgres:17-alpine + container_name: vikunja-db + restart: unless-stopped + environment: + TZ: ${TZ} + POSTGRES_DB: ${VIKUNJA_DB_NAME} + POSTGRES_USER: ${VIKUNJA_DB_USER} + POSTGRES_PASSWORD: ${VIKUNJA_DB_PASSWORD} + volumes: + - /opt/vikunja/postgres:/var/lib/postgresql/data:Z + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${VIKUNJA_DB_USER} -d ${VIKUNJA_DB_NAME}"] + interval: 10s + timeout: 5s + retries: 10 + start_period: 20s + networks: + - vikunja_internal + + vikunja: + image: vikunja/vikunja:latest + pull_policy: always + container_name: vikunja + restart: unless-stopped + user: "1000:1000" + depends_on: + vikunja-db: + condition: service_healthy + environment: + TZ: ${TZ} + VIKUNJA_SERVICE_PUBLICURL: https://${VIKUNJA_DOMAIN}/ + VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_JWT_SECRET} + VIKUNJA_DATABASE_TYPE: postgres + VIKUNJA_DATABASE_HOST: vikunja-db + VIKUNJA_DATABASE_PORT: 5432 + VIKUNJA_DATABASE_DATABASE: ${VIKUNJA_DB_NAME} + VIKUNJA_DATABASE_USER: ${VIKUNJA_DB_USER} + VIKUNJA_DATABASE_PASSWORD: ${VIKUNJA_DB_PASSWORD} + VIKUNJA_SERVICE_ENABLECALDAV: "true" + VIKUNJA_MAILER_ENABLED: "false" + VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: "false" + VIKUNJA_SERVICE_ENABLEREGISTRATION: "false" + volumes: + - /opt/vikunja/files:/app/vikunja/files:Z + networks: + - vikunja_internal + - proxy + labels: + traefik.http.services.vikunja.loadbalancer.server.port: "3456" + +networks: + vikunja_internal: + driver: bridge + proxy: + external: true diff --git a/vikunja/stack.env b/vikunja/stack.env new file mode 100644 index 0000000..e7f410c --- /dev/null +++ b/vikunja/stack.env @@ -0,0 +1,6 @@ +TZ=Europe/Madrid +VIKUNJA_DOMAIN=vikunja.sherlockhomeless.net +VIKUNJA_DB_NAME=vikunja +VIKUNJA_DB_USER=vikunja +VIKUNJA_DB_PASSWORD=CAMBIAME_db_super_largo_y_unico +VIKUNJA_JWT_SECRET=CAMBIAME_jwt_super_largo_y_unico_y_muy_largo