161 lines
3.9 KiB
YAML
161 lines
3.9 KiB
YAML
services:
|
|
symphony-manager:
|
|
container_name: manager
|
|
build:
|
|
context: ./SymphonyManager
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8081:8081"
|
|
networks:
|
|
- symphony-network
|
|
depends_on:
|
|
- rabbitmq
|
|
|
|
symphony-producer:
|
|
container_name: producer
|
|
build:
|
|
context: ./SymphonyProducer
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8082:8082"
|
|
networks:
|
|
- symphony-network
|
|
depends_on:
|
|
- rabbitmq
|
|
|
|
symphony-discovery:
|
|
container_name: discovery
|
|
build:
|
|
context: ./SymphonyDiscovery
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8083:8083"
|
|
networks:
|
|
- symphony-network
|
|
depends_on:
|
|
- postgres_db
|
|
|
|
symphony-dbnode1:
|
|
container_name: dbnode1
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8084:8084"
|
|
networks:
|
|
- symphony-network
|
|
depends_on:
|
|
- postgres_db
|
|
- symphony-discovery
|
|
|
|
symphony-dbnode2:
|
|
container_name: dbnode2
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8085:8085"
|
|
networks:
|
|
- symphony-network
|
|
depends_on:
|
|
- postgres_db
|
|
- symphony-discovery
|
|
|
|
postgres_db:
|
|
image: postgres:latest
|
|
container_name: postgres_db
|
|
environment:
|
|
- POSTGRES_USER=symphony
|
|
- POSTGRES_PASSWORD=symphony
|
|
- POSTGRES_DB=symphony
|
|
- POSTGRES_INITDB_ARGS="--log-min-messages=error"
|
|
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
|
|
- ./config/logs/rabbitmq:/var/log/rabbitmq
|
|
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 |