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