services: db: image: postgres:17-alpine container_name: Kaneo-DB hostname: kaneo-db security_opt: - no-new-privileges:true healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "kaneo", "-U", "kaneouser"] timeout: 45s interval: 10s retries: 10 volumes: - /volume1/docker/kaneodb:/var/lib/postgresql/data:rw environment: POSTGRES_DB: kaneo POSTGRES_USER: kaneouser POSTGRES_PASSWORD: kaneopass restart: on-failure:5 kaneo: image: ghcr.io/usekaneo/api:latest user: 0:0 container_name: Kaneo-API healthcheck: test: ["CMD-SHELL", "nc -z 127.0.0.1 1337 || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 90s environment: AUTH_SECRET: SgYoFDmrCjjEpfjLtlzcDfIFgDwiWAmHWBdLwYvpTeekVSbvVyXqgXiHGhrCtXfe DATABASE_URL: postgresql://kaneouser:kaneopass@kaneo-db:5432/kaneo ports: - 1337:1337 depends_on: - db restart: on-failure:5 frontend: image: ghcr.io/usekaneo/web:latest user: 0:0 container_name: Kaneo healthcheck: test: ["CMD-SHELL", "nc -z 127.0.0.1 5173 || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 90s environment: KANEO_API_URL: https://apikaneo.mariushosting.synology.me KANEO_CLIENT_URL: https://kaneo.mariushosting.synology.me CORS_ORIGINS: https://kaneo.mariushosting.synology.me ALLOW_REGISTRATION: true #or false to disable user registration after first user registration. ports: - 5173:5173 depends_on: - kaneo restart: on-failure:5