version: '3.8' services: service: build: . container_name: service hostname: service ports: - 3000:3000 networks: - app-network volumes: - ./src/:/app/src/ - .env/:/app/.env restart: unless-stopped depends_on: - mongo1 - mongo2 - mongo3 - postgres mongo1: container_name: mongo1 hostname: mongo1 image: mongo restart: always networks: - app-network volumes: - dbdata1:/data/db command: mongod --bind_ip_all --replSet rs0 mongo2: container_name: mongo2 hostname: mongo2 image: mongo networks: - app-network restart: always volumes: - dbdata2:/data/db command: mongod --bind_ip_all --replSet rs0 mongo3: container_name: mongo3 hostname: mongo3 image: mongo networks: - app-network restart: always volumes: - dbdata3:/data/db command: mongod --bind_ip_all --replSet rs0 postgres: container_name: postgres hostname: postgres image: postgres restart: always networks: - app-network environment: POSTGRES_DB: mydatabase POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword volumes: - postgres_data:/var/lib/postgresql/data ports: - 5432:5432 networks: app-network: name: app-network driver: bridge volumes: dbdata1: dbdata2: dbdata3: postgres_data: