main
1version: '3.2'
2
3services:
4 ctfd:
5 image: ctfd/ctfd
6 user: root
7 restart: always
8 ports:
9 - "8000:8000"
10 environment:
11 - UPLOAD_FOLDER=/var/uploads
12 - DATABASE_URL=mysql+pymysql://ctfd:ctfd@db/ctfd
13 - REDIS_URL=redis://cache:6379
14 - WORKERS=1
15 - LOG_FOLDER=/var/log/CTFd
16 - ACCESS_LOG=-
17 - ERROR_LOG=-
18 volumes:
19 - ./data/CTFd/logs:/var/log/CTFd
20 - ./data/CTFd/uploads:/var/uploads
21 depends_on:
22 - db
23 networks:
24 - default
25 - internal
26
27 db:
28 image: mariadb:10.4.12
29 restart: always
30 environment:
31 - MYSQL_ROOT_PASSWORD=ctfd
32 - MYSQL_USER=ctfd
33 - MYSQL_PASSWORD=ctfd
34 - MYSQL_DATABASE=ctfd
35 volumes:
36 - ./data/mysql:/var/lib/mysql
37 networks:
38 - internal
39 # This command is required to set important mariadb defaults
40 command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --wait_timeout=28800, --log-warnings=0]
41
42 cache:
43 image: redis:4
44 restart: always
45 volumes:
46 - ./data/redis:/data
47 networks:
48 - internal
49
50networks:
51 default:
52 internal:
53 internal: true