Setup
Categories:
Goal
This tutorial will guide you through the installation and configuration of the CTFd-chall-manager plugin to use chall-manager.
Prerequisites
Ensure you have chall-manager running before starting this tutorial. You can find the relevant documentation for setup instructions.
Install the plugin
If you are not using the docker-compose.yml
file, you need to clone the repository into CTFd/CTFd/plugins/ctfd-chall-manager
.
# Clone the CTFd repository
git clone https://github.com/CTFd/CTFd
# Clone the plugin repository
git clone https://github.com/ctfer-io/ctfd-chall-manager CTFd/CTFd/plugins/ctfd-chall-manager
# (optional) Start Redis with Docker
docker run -d -p 6379:6379 redis:<version>
## (optional) Configure plugin to use redis serveur
export REDIS_URL=redis://localhost:6379
# Start CTFd
cd CTFd
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
python3 serve.py
# Clone the plugin repository
git clone https://github.com/ctfer-io/ctfd-chall-manager
# Create Docker network
docker network create testing
# (optional) Start Redis with Docker
docker run -d --name redis-svc --network testing redis:<version>
# Start CTFd with Docker
docker run -d -p 8000:8000 [-e REDIS_URL=redis://redis-svc:6379] -v ./ctfd-chall-manager:/opt/CTFd/CTFd/plugins/ctfd-chall-manager --network testing ctfd/ctfd:<version>
Tips & Tricks
You can use assets in GitHub releases instead of cloning the whole repository: https://github.com/ctfer-io/ctfd-chall-manager/releasesAfter completing this step, you should be able to access the plugin settings configuration in the CTFd UI.
![](/docs/ctfd-chall-manager/get-started/setup/install_check_ui_hu5917449650399279819.png)
The plugin is visible in the UI
If the plugin does not appear, verify your container volume mounts, then check the CTFd logs for import module entries, such as:
![](/docs/ctfd-chall-manager/get-started/setup/install_check_logs_hu14808190927871282881.png)
The plugin is visible in the logs
Configure the plugin to use chall-manager
To connect the plugin to chall-manager, go to the plugin settings.
The default configuration is:
![](/docs/ctfd-chall-manager/get-started/setup/settings_default_hu4066511515140169141.png)
Default plugin configuration
Adjust the plugin settings to match your environment, ensuring CTFd can communicate with chall-manager. For instance:
![](/docs/ctfd-chall-manager/get-started/setup/settings_configured_hu9269738674962030884.png)
CTFd can successfully reach chall-manager
What’s next?
Congratulations! At this point, your setup is ready to use chall-manager for your CTF events.
Feedback
Was this page helpful?