services: symphony-manager: container_name: manager build: context: ./SymphonyManager dockerfile: Dockerfile ports: - "8081:8081" networks: - symphony-network symphony-producer: container_name: producer build: context: ./SymphonyProducer dockerfile: Dockerfile ports: - "8082:8082" networks: - symphony-network symphony-discovery: container_name: discovery build: context: ./SymphonyDiscovery dockerfile: Dockerfile ports: - "8083:8083" networks: - symphony-network symphony-dbnode1: container_name: dbnode1 build: context: ./SymphonyDatabaseNode dockerfile: Dockerfile ports: - "8084:8084" networks: - symphony-network depends_on: - postgres_db # symphony-dbnode2: # container_name: dbnode2 # build: # context: ./SymphonyDatabaseNode # dockerfile: Dockerfile # ports: # - "8085:8085" # networks: # - symphony-network # depends_on: # - postgres_db postgres_db: image: postgres:latest container_name: postgres_db environment: - POSTGRES_USER=symphony - POSTGRES_PASSWORD=symphony - POSTGRES_DB=symphony volumes: - ./config/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql ports: - "5432:5432" networks: - symphony-network restart: always rabbitmq: image: "rabbitmq:management" container_name: rabbitmq command: > sh -c " rabbitmq-plugins enable --offline rabbitmq_prometheus && rabbitmq-server" ports: - "5672:5672" - "15672:15672" - "15692:15692" environment: - RABBITMQ_DEFAULT_USER=symphony - RABBITMQ_DEFAULT_PASS=symphony - RABBITMQ_NODENAME=rabbit@rabbitmq - RABBITMQ_PROMETHEUS_RETENTION_POLICY=1h volumes: - ./config/rabbitmq/rabbit.conf:/etc/rabbitmq/rabbitmq.conf:ro networks: - symphony-network restart: always prometheus: image: prom/prometheus container_name: prometheus command: - "--log.level=warn" - "--config.file=/etc/prometheus/prometheus.yml" ports: - "9090:9090" volumes: - ./config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro networks: - symphony-network grafana: image: grafana/grafana container_name: grafana user: "472:472" ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_USER=symphony - GF_SECURITY_ADMIN_PASSWORD=symphony - GF_LOG_LEVEL=warn - GF_DATABASE_TYPE=sqlite3 - GF_DATABASE_PATH=/var/lib/grafana/grafana.db volumes: - ./config/grafana/provisioning:/etc/grafana/provisioning - ./config/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards - ./config/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources - ./config/grafana/provisioning/plugins:/etc/grafana/provisioning/plugins - ./config/grafana/provisioning/alerting:/etc/grafana/provisioning/alerting - ./config/grafana/plugins-bundled:/usr/share/grafana/plugins-bundled - grafana-storage:/var/lib/grafana networks: - symphony-network node-exporter: image: prom/node-exporter:latest container_name: node-exporter command: - "--no-collector.hwmon" - "--log.level=warn" ports: - "9100:9100" volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro - /run/udev:/run/udev:ro networks: - symphony-network restart: always volumes: grafana-storage: networks: symphony-network: driver: bridge