1+ services :
2+
3+ database :
4+ container_name : database
5+ image : mysql:8.0.33
6+ restart : always
7+ env_file :
8+ - .env # Use the .env file for environment variables
9+ environment :
10+ MYSQL_DATABASE : livebettingdatabase
11+ MYSQL_PASSWORD : ${DATABASE_PASSWORD}
12+ MYSQL_ROOT_PASSWORD : ${DATABASE_PASSWORD}
13+ MYSQL_ROOT_HOST : ' %'
14+ MYSQL_PORT : 3307
15+ volumes :
16+ - ./db:/var/lib/mysql
17+ ports :
18+ - " 3307:3306"
19+ networks :
20+ - livebettingNetwork
21+
22+ livebetting :
23+ image : ' livebetting:latest'
24+ build :
25+ context : .
26+ dockerfile : Dockerfile
27+ container_name : livebetting
28+ restart : on-failure
29+ env_file :
30+ - .env # Use the .env file for environment variables
31+ ports :
32+ - " 5160:5160"
33+ environment :
34+ - server.port=5160
35+ - spring.datasource.username=${DATABASE_USERNAME}
36+ - spring.datasource.password=${DATABASE_PASSWORD}
37+ - LIVE_BETTING_SERVICE_DB_IP=database
38+ - LIVE_BETTING_DB_PORT=3307
39+ - spring.datasource.url=jdbc:mysql://host.docker.internal:3307/livebettingdatabase
40+ depends_on :
41+ - database
42+ - sonarqube
43+ networks :
44+ - livebettingNetwork
45+
46+ prometheus :
47+ image : prom/prometheus:latest
48+ container_name : prometheus
49+ restart : unless-stopped
50+ ports :
51+ - " 9090:9090"
52+ volumes :
53+ - ./data/prometheus/config:/etc/prometheus/
54+ command :
55+ - ' --config.file=/etc/prometheus/prometheus.yml'
56+ networks :
57+ - livebettingNetwork
58+
59+ grafana :
60+ image : " grafana/grafana-oss:latest"
61+ pull_policy : always
62+ container_name : grafana
63+ restart : unless-stopped
64+ ports :
65+ - " 3000:3000"
66+ volumes :
67+ - ./data/grafana:/var/lib/grafana
68+ environment :
69+ - GF_SECURITY_ADMIN_PASSWORD=admin
70+ - GF_SERVER_DOMAIN=localhost
71+ - GF_SMTP_ENABLED=${GF_SMTP_ENABLED}
72+ - GF_SMTP_HOST=${GF_SMTP_HOST}
73+ - GF_SMTP_USER=${GF_SMTP_USER}
74+ - GF_SMTP_PASSWORD=${GF_SMTP_PASSWORD}
75+ - GF_SMTP_SKIP_VERIFY=${GF_SMTP_SKIP_VERIFY}
76+ - GF_SMTP_FROM_ADDRESS=${GF_SMTP_FROM_ADDRESS}
77+ networks :
78+ - livebettingNetwork
79+
80+ sonarqube :
81+ image : sonarqube:latest
82+ container_name : sonarqube
83+ restart : always
84+ ports :
85+ - " 9000:9000"
86+ volumes :
87+ - sonarqube_data:/opt/sonarqube/data
88+ - sonarqube_extensions:/opt/sonarqube/extensions
89+ - sonarqube_logs:/opt/sonarqube/logs
90+ depends_on :
91+ - database
92+ networks :
93+ - livebettingNetwork
94+
95+ alertmanager :
96+ build :
97+ context : ./data/alertmanager
98+ dockerfile : Dockerfile
99+ container_name : alertmanager
100+ restart : unless-stopped
101+ ports :
102+ - " 9093:9093"
103+ env_file :
104+ - .env
105+ networks :
106+ - livebettingNetwork
107+
108+ volumes :
109+ sonarqube_data :
110+ sonarqube_extensions :
111+ sonarqube_logs :
112+
113+ networks :
114+ livebettingNetwork:
0 commit comments