-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompose.yaml
97 lines (89 loc) · 2.09 KB
/
compose.yaml
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
services:
ctfd:
image: ctfd/ctfd:latest
restart: unless-stopped
ports:
- '127.0.0.1:8000:8000'
environment:
- 'DATABASE_URL=mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@db/${MYSQL_DATABASE}'
- 'REDIS_URL=${REDIS_URL}'
env_file:
- './ctfd-app.env'
volumes:
- 'ctfd_logs:/var/log/CTFd'
- 'ctfd_uploads:/var/uploads'
depends_on:
- db
networks:
default:
internal:
db:
image: mariadb:10.4
restart: unless-stopped
environment:
- 'MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}'
- 'MYSQL_USER=${MYSQL_USER}'
- 'MYSQL_PASSWORD=${MYSQL_PASSWORD}'
- 'MYSQL_DATABASE=${MYSQL_DATABASE}'
volumes:
- 'db_storage:/var/lib/mysql'
networks:
internal:
# This command is required to set important mariadb defaults
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --wait_timeout=28800, --log-warnings=0]
cache:
image: redis:4
restart: unless-stopped
volumes:
- 'cache_storage:/data'
networks:
internal:
mysqld_exporter:
image: quay.io/prometheus/mysqld-exporter:latest
restart: unless-stopped
ports:
- '9104:9104'
volumes:
- './mysqld-exporter/my.cnf:/.my.cnf'
depends_on:
- db
networks:
internal:
default:
redis_exporter:
image: oliver006/redis_exporter:latest
restart: unless-stopped
environment:
- 'REDIS_ADDR=${REDIS_URL}'
ports:
- '9121:9121'
depends_on:
- cache
networks:
internal:
default:
node_exporter:
image: quay.io/prometheus/node-exporter:latest
command:
- '--path.rootfs=/host'
network_mode: host
pid: host
restart: unless-stopped
volumes:
- '/:/host:ro,rslave'
ctfd_exporter:
image: ghcr.io/eliabir/ctfd-exporter:latest
restart: unless-stopped
ports:
- '2112:2112'
env_file:
- './ctfd-exporter.env'
volumes:
ctfd_logs: {}
ctfd_uploads: {}
db_storage: {}
cache_storage: {}
networks:
default:
internal:
internal: true