@@ -38,5 +38,109 @@ services:
3838 - server-service
3939 restart : unless-stopped
4040
41+ mongodb :
42+ image : mongo:8.0
43+ container_name : mongodb
44+ ports :
45+ - " 27017:27017"
46+ environment :
47+ - MONGO_INITDB_ROOT_USERNAME=admin
48+ - MONGO_INITDB_ROOT_PASSWORD=admin
49+ - MONGO_INITDB_DATABASE=recipai
50+ volumes :
51+ - mongodb_data:/data/db
52+ restart : unless-stopped
53+
54+ mongo-express :
55+ image : mongo-express:latest
56+ container_name : mongo-express
57+ ports :
58+ - " 8081:8081"
59+ environment :
60+ - ME_CONFIG_MONGODB_ADMINUSERNAME=admin
61+ - ME_CONFIG_MONGODB_ADMINPASSWORD=admin
62+ - ME_CONFIG_MONGODB_SERVER=mongodb
63+ - ME_CONFIG_MONGODB_PORT=27017
64+ - ME_CONFIG_BASICAUTH_USERNAME=admin
65+ - ME_CONFIG_BASICAUTH_PASSWORD=admin
66+ depends_on :
67+ - mongodb
68+ restart : unless-stopped
69+
70+ prometheus :
71+ image : prom/prometheus:v2.52.0
72+ container_name : prometheus
73+ ports :
74+ - " 9090:9090"
75+ volumes :
76+ - ./monitoring/prometheus:/etc/prometheus
77+ - prometheus_data:/prometheus
78+ command :
79+ - ' --config.file=/etc/prometheus/prometheus.yml'
80+ - ' --storage.tsdb.path=/prometheus'
81+ - ' --web.console.libraries=/etc/prometheus/console_libraries'
82+ - ' --web.console.templates=/etc/prometheus/consoles'
83+ - ' --web.enable-lifecycle'
84+ restart : unless-stopped
85+
86+ grafana :
87+ image : grafana/grafana-oss:latest
88+ container_name : grafana
89+ ports :
90+ - " 3001:3000"
91+ volumes :
92+ - grafana-storage:/var/lib/grafana
93+ - ./monitoring/grafana/provisioning:/etc/grafana/provisioning:ro
94+ environment :
95+ - GF_SECURITY_ADMIN_USER=admin
96+ - GF_SECURITY_ADMIN_PASSWORD=admin
97+ - GF_USERS_ALLOW_SIGN_UP=false
98+ - GF_FEATURE_TOGGLES_ENABLE=logsInExplore
99+ - GF_LOG_CONSOLECOLORS=true
100+ depends_on :
101+ - prometheus
102+ - loki
103+ restart : unless-stopped
104+
105+ promtail :
106+ image : grafana/promtail:latest
107+ volumes :
108+ - /var/lib/docker/containers:/var/lib/docker/containers:ro
109+ - /var/run/docker.sock:/var/run/docker.sock
110+ - ./monitoring/promtail/promtail.yaml:/etc/promtail/promtail.yaml
111+ command : -config.file=/etc/promtail/promtail.yaml
112+ depends_on :
113+ - loki
114+ restart : unless-stopped
115+
116+ loki :
117+ image : grafana/loki:2.9.0
118+ ports :
119+ - " 3100:3100"
120+ volumes :
121+ - ./monitoring/loki/loki-config.yaml:/etc/loki/loki-config.yaml:ro
122+ - loki-data:/loki
123+ command : -config.file=/etc/loki/loki-config.yaml
124+ restart : unless-stopped
125+
126+ # This service is used to collect metrics from docker containers, not needed for k8s
127+ cadvisor :
128+ image : gcr.io/cadvisor/cadvisor:latest
129+ container_name : cadvisor
130+ ports :
131+ - " 8003:8080"
132+ volumes :
133+ - /:/rootfs:ro
134+ - /var/run:/var/run:ro
135+ - /sys:/sys:ro
136+ - /var/lib/docker/:/var/lib/docker:ro
137+ - /dev/disk/:/dev/disk:ro
138+ privileged : true
139+ restart : unless-stopped
140+
41141volumes :
42142 qdrant_storage :
143+ mongodb_data :
144+ prometheus_data :
145+ grafana-storage :
146+ loki-data :
0 commit comments