Hosted Challenge Deployment

Managing challenges for CTFs can be an ordeal.

Our hosted challenge platform makes it easy to automatically deploy and manage challenges with technologies you're already familiar with!

from flask import Flask

app = Flask(__name__)

def flag():
    return "<p>flag{that_was_easy!}</p>"

FROM python:3
RUN pip install flask
CMD flask run --host=
First we create a simple challenge that just emits our flag on connect.
It must include a Dockerfile which attempts to EXPOSE a port.

Finally you should be able to build your docker image with docker build -t project .
Next we create a new service inside of CTFd
Finally we push up our image to CTFd which will automatically handle the rest.

docker login
docker tag <image>
docker push

The challenge will go from push to building to deployed until finally your challenge will automatically be given a port and deployed.
Need an unencrypted TCP port for netcat? Read about Requesting a TCP Port!
Challenge deployment is as easy as docker push with our challenge deployment platform.
Check out our hosted plans