223 lines
5.0 KiB
YAML
223 lines
5.0 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
|
|
|
|
node1:
|
|
container_name: node1
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8100:8100"
|
|
- "8105:8105/udp"
|
|
networks:
|
|
- symphony-network
|
|
environment:
|
|
- HOSTNAME=node1
|
|
- PORT=8100
|
|
- UDP_PORT=8105
|
|
depends_on:
|
|
- postgres_db
|
|
|
|
node2:
|
|
container_name: node2
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8101:8101"
|
|
- "8106:8106/udp"
|
|
networks:
|
|
- symphony-network
|
|
environment:
|
|
- HOSTNAME=node2
|
|
- PORT=8101
|
|
- UDP_PORT=8106
|
|
depends_on:
|
|
- postgres_db
|
|
|
|
node3:
|
|
container_name: node3
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8102:8102"
|
|
- "8107:8107/udp"
|
|
networks:
|
|
- symphony-network
|
|
environment:
|
|
- HOSTNAME=node3
|
|
- PORT=8102
|
|
- UDP_PORT=8107
|
|
depends_on:
|
|
- postgres_db
|
|
|
|
node4:
|
|
container_name: node4
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8103:8103"
|
|
- "8108:8108/udp"
|
|
networks:
|
|
- symphony-network
|
|
environment:
|
|
- HOSTNAME=node4
|
|
- PORT=8103
|
|
- UDP_PORT=8108
|
|
depends_on:
|
|
- postgres_db
|
|
|
|
node5:
|
|
container_name: node5
|
|
build:
|
|
context: ./SymphonyDatabaseNode
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "8104:8104"
|
|
- "8109:8109/udp"
|
|
networks:
|
|
- symphony-network
|
|
environment:
|
|
- HOSTNAME=node5
|
|
- PORT=8104
|
|
- UDP_PORT=8109
|
|
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
|
|
- ./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
|
|
|
|
ftp_server:
|
|
image: stilliard/pure-ftpd:hardened
|
|
container_name: ftp_server
|
|
ports:
|
|
- "21:21"
|
|
- "30000-30009:30000-30009"
|
|
environment:
|
|
FTP_USER_NAME: symphony
|
|
FTP_USER_PASS: symphony
|
|
FTP_USER_HOME: /home/symphony
|
|
networks:
|
|
- symphony-network
|
|
volumes:
|
|
- ftp_data:/home/symphony
|
|
|
|
volumes:
|
|
grafana-storage:
|
|
ftp_data:
|
|
|
|
networks:
|
|
symphony-network:
|
|
driver: bridge |