# Vikunja — трекер задач (WebUI + REST API) # Порт: 3456 (локально), наружу — Caddy: tasks.nixg.ru → 10.8.0.2:3456 # Все данные — в локальных папках рядом с compose (НЕ named volumes): # ./db — PostgreSQL (pgdata) # ./files — загрузки Vikunja (аватары, вложения) # Секреты: .env (VIKUNJA_DATABASE_PASSWORD, VIKUNJA_SERVICE_JWTSECRET) services: db: image: postgres:16-alpine container_name: vikunja-db restart: unless-stopped environment: POSTGRES_PASSWORD: ${VIKUNJA_DATABASE_PASSWORD} POSTGRES_DB: vikunja POSTGRES_USER: vikunja volumes: - ./db:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U vikunja -d vikunja"] interval: 10s timeout: 5s retries: 5 vikunja: image: vikunja/vikunja:latest container_name: vikunja restart: unless-stopped depends_on: db: condition: service_healthy environment: VIKUNJA_DATABASE_TYPE: postgres VIKUNJA_DATABASE_HOST: db VIKUNJA_DATABASE_PORT: 5432 VIKUNJA_DATABASE_DATABASE: vikunja VIKUNJA_DATABASE_USERNAME: vikunja VIKUNJA_DATABASE_PASSWORD: ${VIKUNJA_DATABASE_PASSWORD} VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET} VIKUNJA_SERVICE_FRONTENDURL: https://tasks.nixg.ru VIKUNJA_SERVICE_PUBLICURL: https://tasks.nixg.ru ports: - "3456:80" volumes: - ./files:/app/files