services: client: build: ./client image: mohmeek/client container_name: client ports: - "3000:3000" environment: - PORT=3000 - NODE_ENV=production - BASE_URL_PROD=http://nginx:80 - BASE_URL_DEV=http://nginx:80 nginx: image: nginx:alpine container_name: nginx ports: - "80:80" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf depends_on: - auth - tickets - orders - payments auth: build: ./auth image: mohmeek/auth container_name: auth ports: - "5000:3000" environment: - JWT_KEY=your_jwt_secret_key_here - MONGO_URI=mongodb://mongo:27017/auth depends_on: - mongo payments: build: ./payments image: mohmeek/payments container_name: payments ports: - "5002:3000" environment: - JWT_KEY=your_jwt_secret_key_here - MONGO_URI=mongodb://mongo:27017/payments - NATS_URL=nats://nats:4222 - NATS_CLUSTER_ID=tickit - NATS_CLIENT_ID=payments - STRIPE_KEY=your_stripe_key_here depends_on: - mongo - nats tickets: build: ./tickets image: mohmeek/tickets container_name: tickets ports: - "5001:3000" environment: - JWT_KEY=your_jwt_secret_key_here - MONGO_URI=mongodb://mongo:27017/tickets - NATS_URL=nats://nats:4222 - NATS_CLUSTER_ID=tickit - NATS_CLIENT_ID=tickets depends_on: - mongo - nats orders: build: ./orders image: mohmeek/orders container_name: orders ports: - "5003:3000" environment: - JWT_KEY=your_jwt_secret_key_here - MONGO_URI=mongodb://mongo:27017/orders - NATS_URL=nats://nats:4222 - NATS_CLUSTER_ID=tickit - NATS_CLIENT_ID=orders depends_on: - mongo - nats expiration: build: ./expiration container_name: expiration environment: - NATS_URL=nats://nats:4222 - NATS_CLUSTER_ID=tickit - NATS_CLIENT_ID=expiration - REDIS_HOST=redis depends_on: - nats - redis redis: image: redis:alpine container_name: redis ports: - "6379:6379" emails: build: ./emails container_name: emails environment: - NATS_URL=nats://nats:4222 - NATS_CLUSTER_ID=tickit - NATS_CLIENT_ID=emails - SENDGRID_API_KEY=SG.your_sendgrid_api_key_here depends_on: - nats nats: image: nats-streaming container_name: nats ports: - "4222:4222" - "8222:8222" command: ["-cid", "tickit"] mongo: image: mongo:4 container_name: mongo ports: - "27017:27017" environment: - MONGO_INITDB_DATABASE=tickit