version: '3.8' services: postgres: image: postgres:16.3-bookworm container_name: postgres environment: POSTGRES_USER: exampleuser POSTGRES_PASSWORD: examplepass POSTGRES_DB: exampledb volumes: - ./postgres-data:/var/lib/postgresql/data - ./postgres-init-scripts:/docker-entrypoint-initdb.d ports: - "5432:5432" # Exposing PostgreSQL to the host expose: - "5432" networks: - backend rabbitmq: image: rabbitmq:3.13-management container_name: rabbitmq environment: RABBITMQ_DEFAULT_USER: user RABBITMQ_DEFAULT_PASS: password expose: - "5672" - "15672" ports: - "15672:15672" networks: - backend server: image: server-image container_name: server stop_grace_period: 1s # Reduce the timeout period for testing environment: - MRVA_SERVER_ROOT=/mrva/mrvacommander/cmd/server command: sh -c "tail -f /dev/null" ports: - "8080:8080" volumes: - ./:/mrva/mrvacommander depends_on: - postgres - rabbitmq networks: - backend dbstore: image: minio/minio:RELEASE.2024-06-11T03-13-30Z container_name: dbstore ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: user MINIO_ROOT_PASSWORD: mmusty8432 command: server /data --console-address ":9001" volumes: - ./dbstore-data:/data # Remove named volumes to use bind mounts # volumes: # minio-data: # postgres_data: # driver: local networks: backend: driver: bridge