ctfd環境搭建基於docker-compose(ubuntu)
因為校賽所以要搭個平台,懶得自己寫了,就用了ctfd。
參考官網的搭建說明:https://docs.ctfd.io/docs/deployment/installation
使用的是ubuntu。
先裝docker和docker-compose
apt install docker.io
apt install docker-compose
驗證:
docker -v
docker-compose --version
環境搭好以后把ctfd的包給整進來,我用的是3.4.3release版本的。
https://github.com/CTFd/CTFd/releases/tag/3.4.3
需要我們指定一個秘鑰,這里我使用了官網的操作:
head -c 64 /dev/urandom > .ctfd_secret_key
然后是docker-compose up
如果是第一次用會需要pull幾個鏡像下來,等等就好。
如果實在太慢了,就換個docker源:https://www.cnblogs.com/1jzz/p/14327986.html
中間有一步需要安裝python的庫的,可以改Dockerfile來換個源:
在pip那一行加:
-i https://pypi.tuna.tsinghua.edu.cn/simple # 這個是清華的源
但是上面的操作都順利下來以后還是遇到了str和bytes的問題,推測是python版本問題:
這里應該是本地運行導致的報錯,估摸着是本地的python版本是python3導致的,apt安裝的docker-compose版本是1.25,就把docker-compose卸載了用pip重裝了一下(1.29版本),然后來個軟鏈接:
然后再試一次就好了,注意可能需要將docker-entrypoint.sh加上可執行權限!:
好了以后可以訪問:http://localhost:8000,進入setup界面:
至於數據導出和備份什么的我還沒沒研究清楚,應該都會volumes掛在到相應的文件夾,應該是在項目目錄的.data隱藏目錄下,如果要備份啥的整這個目錄就好了。
希望比賽順利2333,還得出題嗚嗚嗚。