CTFd 搭建记录

Deploy

ctfd Docker

安装 docker、docker compose

Clone the CTFd repository with git clone https://github.com/CTFd/CTFd.git

Modify the docker-compose.yml :

1
2
3
4
5
6
7
8
9
environment:
- UPLOAD_FOLDER=/var/uploads
- DATABASE_URL=mysql+pymysql://ctfd:ctfd@db/ctfd
- REDIS_URL=redis://cache:6379
- WORKERS=8
- LOG_FOLDER=/var/log/CTFd
- ACCESS_LOG=-
- ERROR_LOG=-
- REVERSE_PROXY=true

CTFd/config.py 中修改 DEBUG = False

Run docker-compose up -d

You should now be able to access CTFd at http://localhost:8000

Mail API(不绑定信用卡,只能给5个指定用户发送邮件)

https://www.mailgun.com/

截屏2021-01-13 下午3.41.00

截屏2021-01-13 下午3.41.11

Mail Server

这里有一个小插曲

由于不太了解 TLS ,导致此处调试了很久才成功发送了 email

截屏2021-01-15 下午4.27.55

一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型

最后正确的填写

截屏2021-01-18 上午11.14.13

走过的坑

第一个就是前面说的 email,第二就是 all.css

fonts.dev.css 和 fonts.min.css 引用了外网的 css。导致页面加载了二十多秒

all.css

1
2
3
4
5
6
7
find / -name fonts.dev.css
find / -name fonts.min.css
vim 将找到文件中的
https://use.fontawesome.com/releases/v5.9.0/css/all.css
替换为
https://cdn.bootcss.com/font-awesome/5.13.0/css/all.css
重启dockers

Link

https://www.tjuscswyz.cn/2019/09/26/CTFd%E5%B9%B3%E5%8F%B0%E6%90%AD%E5%BB%BA%E8%AE%B0%E5%BD%95/#%E9%83%A8%E7%BD%B2

https://blog.csdn.net/weixin_43880435/article/details/107339592