services: frontend: image: francesco448/chat-app-frontend:latest build: context: ./frontend args: VITE_API_URL: "" restart: unless-stopped depends_on: - backend ports: - "80:80" networks: - chat-network backend: image: francesco448/chat-app-backend:latest build: context: ./Backend restart: unless-stopped depends_on: mongo: condition: service_healthy environment: - PORT=4000 - CLIENT_ORIGIN=http://localhost - DATA_STORE=mongo - MONGO_URI=mongodb://${MONGO_ROOT_USER:-admin}:${MONGO_ROOT_PASSWORD:-chatpass}@mongo:27017/${MONGO_DB:-chatapp}?authSource=admin - MONGO_DB=${MONGO_DB:-chatapp} networks: - chat-network mongo: image: mongo:7 container_name: chat-app-mongo restart: unless-stopped environment: - MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER:-admin} - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD:-chatpass} - MONGO_INITDB_DATABASE=${MONGO_DB:-chatapp} volumes: - mongo-data:/data/db ports: - "27017:27017" networks: - chat-network healthcheck: test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] interval: 10s timeout: 5s retries: 5 networks: chat-network: driver: bridge volumes: mongo-data: driver: local