Skip to main content

Domains

We recommend reserving an entire domain where challenges will be deployed to. For our example we will use example.com.

info

If needed, you can use a subdomain of another domain. For example, you could deploy challenges on challenges.example.com and run CTFd on ctf.example.com.

However keep in mind that there may be security concerns around deploying potenailly malicious/vulnerable applications on the same domain as a proper application.

Configuration​

CPU_LIMIT​

CPU_LIMIT determines the CPU quota limitation for every deployed service

MEM_LIMIT​

MEM_LIMIT determines the CPU quota limitation for every deployed service

SNIPROXY_WILDCARD_DOMAIN​

The wildcard domain where all challenges will be scheduled.

SNIBRIDGE_HOSTS​

The servers which are responsible for proxying unencrypted TCP requests to sniproxy who then proxys requests over to the intended challenge service.

DOCKER_REGISTRY_USERNAME​

The username by which deploybot can login to a Docker registry where private Docker images for challenges are stored

DOCKER_REGISTRY_PASSWORD​

The password by which deploybot can login to a Docker registry where private Docker images for challenges are stored

DOCKER_REGISTRY_HOST​

The hostname for a private Docker registry

DISABLE_PLACEMENT_CONSTRAINTS​

Set to true to disable any constraints around scheduling services on specific servers/nodes.

DISABLE_RESOURCE_CONSTRAINTS=false​

Set to true to disable any resource constraints around CPU/RAM for services

Example​

CPU_LIMIT=1
MEM_LIMIT=268435456
SNIPROXY_WILDCARD_DOMAIN=example.com
SNIBRIDGE_HOSTS=0.challenges.example.com,1.challenges.example.com
DOCKER_REGISTRY_USERNAME=username
DOCKER_REGISTRY_PASSWORD=password
DOCKER_REGISTRY_HOST=registry.gitlab.com
tip

If you are working with a single server setup, set the DISABLE_PLACEMENT_CONSTRAINTS=true envvar in deploybot.

Was this page helpful?