version: '3.8' services: notes-app: build: . container_name: notes-todo-app ports: - "3000:3000" volumes: - ./data:/app/data - ./public/uploads:/app/public/uploads environment: - NODE_ENV=production - JWT_SECRET=${JWT_SECRET:-change_me_in_production_please_use_strong_secret} - PORT=3000 - UPLOADS_PATH=/app/public/uploads - DB_PATH=/app/data/notes.db restart: unless-stopped networks: - nginx_default healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: nginx_default: external: true