services: nextjs: container_name: match-vote-nextjs-nextjs-lvyin build: context: . dockerfile: Dockerfile.prod args: - MONGODB_URI=mongodb://mongodb:27017/lvyin_db - JWT_SECRET=xg8mtRnRVTbrIhpNdI0tULmYQ9xhzfQ86Q9qwZQUqZ4fQ8behmzZLJkS5mkCNJak ports: - "3001:3000" environment: - NODE_ENV=production - MONGODB_URI=mongodb://mongodb:27017/lvyin_db - JWT_SECRET=xg8mtRnRVTbrIhpNdI0tULmYQ9xhzfQ86Q9qwZQUqZ4fQ8behmzZLJkS5mkCNJak depends_on: - mongodb restart: unless-stopped volumes: - lvyin_uploads_data:/app/public/uploads mongodb: container_name: match-vote-mongodb-lvyin image: mongo volumes: - lvyin_mongodb_data:/data/db restart: unless-stopped nginx: container_name: match-vote-nextjs-nginx-lvyin image: nginx:alpine ports: - "8082:80" volumes: - ./nginx:/etc/nginx/conf.d - ./logs/nginx:/var/log/nginx - lvyin_uploads_data:/app/public/uploads:ro - ./certs:/etc/nginx/certs depends_on: - nextjs restart: unless-stopped volumes: lvyin_mongodb_data: lvyin_uploads_data: networks: default: external: true name: match-vote-network-lvyin