-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
executable file
·130 lines (119 loc) · 2.5 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
version: "3.2"
networks:
hermes:
driver: bridge
services:
prometheus:
image: docker.io/prom/prometheus
volumes:
- prometheus_data:/prometheus
- ./node/prometheus.yml:/etc/prometheus/prometheus.yml
- ./node/targets:/etc/prometheus/targets/
command:
- "--config.file=/etc/prometheus/prometheus.yml"
ports:
- 9090:9090
hostname: prometheus
networks:
- hermes
pushgateway:
image: prom/pushgateway
hostname: pushgateway
ports:
- 9091:9091
networks:
- hermes
grafana:
image: docker.io/grafana/grafana-enterprise:9.5.9
volumes:
- ./node/grafana:/etc/grafana/provisioning
- grafana_data:/var/lib/grafana
ports:
- 3000:3000
environment:
- GF_SECURITY_ALLOW_EMBEDDING=true
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_API_ENABLED=true
- GRAFANA_PASSWORD=${GRAFANA_PASSWORD}
networks:
- hermes
entrypoint: ["sh", "-c"]
command:
[
"cd /usr/share/grafana && grafana-cli admin reset-admin-password ${GRAFANA_PASSWORD} && /run.sh",
]
nginx:
image: nginx:stable-bullseye-perl
hostname: nginx
ports:
- 8001:80
volumes:
- ./node/hermes.conf:/etc/nginx/conf.d/default.conf
networks:
- hermes
postgres:
image: docker.io/postgres:13
environment:
- POSTGRES_USER=hermes
- POSTGRES_PASSWORD=hermes
- POSTGRES_DB=hermes
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- 5432:5432
hostname: postgres
networks:
- hermes
django:
build:
context: .
dockerfile: ./node/docker/django.dockerfile
hostname: django
ports:
- 8000:8000
volumes:
- ./:/app/
environment:
- RUNNER=django
depends_on:
- prometheus
- postgres
- rabbitmq
networks:
- hermes
celery:
build:
context: .
dockerfile: ./node/docker/celery.dockerfile
volumes:
- ./:/app/
environment:
- RUNNER=celery
depends_on:
- prometheus
- postgres
- rabbitmq
networks:
- hermes
rabbitmq:
image: docker.io/rabbitmq:3.12.0-rc.2-alpine
ports:
- 5672:5672
hostname: rabbitmq
networks:
- hermes
redis:
image: redis:latest
ports:
- 6379:6379
volumes:
- redis_data:/data
hostname: rabbitmq
networks:
- hermes
volumes:
prometheus_data:
grafana_data:
postgres_data:
django_media:
redis_data: