version: '3.8' services: notes-app: build: . container_name: notes-todo-app ports: - "2222:2222" volumes: - notes_data:/app/data - notes_uploads:/app/public/uploads environment: - NODE_ENV=production - JWT_SECRET=${JWT_SECRET:-change_me_in_production_please_use_strong_secret} - PORT=2222 - 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:2222/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: notes_data: notes_uploads: networks: nginx_default: external: true