version: '3.8' services: # MemeNano Web Application meme-nano-web: build: context: . dockerfile: Dockerfile container_name: meme-nano-web restart: unless-stopped ports: - "3000:3000" environment: - NODE_ENV=production - PORT=3000 - HOSTNAME=0.0.0.0 healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - meme-nano-network labels: - "com.meme-nano.description=MemeNano AI Meme Generator" - "com.meme-nano.version=1.0.0" networks: meme-nano-network: driver: bridge # Optional: Add nginx reverse proxy for production # Uncomment the following services to use nginx # nginx: # image: nginx:alpine # container_name: meme-nano-nginx # restart: unless-stopped # ports: # - "80:80" # - "443:443" # volumes: # - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro # - ./nginx/ssl:/etc/nginx/ssl:ro # depends_on: # - meme-nano-web # networks: # - meme-nano-network