services: tallynote: build: . restart: unless-stopped ports: - "127.0.0.1:3000:3000" environment: TALLYNOTE_HOST: 0.0.0.0 TALLYNOTE_PORT: 3000 TALLYNOTE_DATA_DIR: /data TALLYNOTE_PUBLIC_ORIGIN: ${TALLYNOTE_PUBLIC_ORIGIN:-http://127.0.0.1:3000} TALLYNOTE_COOKIE_SECURE: ${TALLYNOTE_COOKIE_SECURE:-false} TALLYNOTE_TIMEZONE: ${TALLYNOTE_TIMEZONE:-Asia/Shanghai} volumes: - tallynote-data:/data healthcheck: test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3000/health').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"] interval: 30s timeout: 5s retries: 3 deploy: replicas: 1 volumes: tallynote-data: