CTFFactory Docs

Deploying a CTF

CTFFactory offers two deployment paths: downloading a bundle for self-hosting and deploying a fully managed CTFd instance. Both paths produce the same challenge content; the difference is who operates the infrastructure.

The Dual ZIP Bundle

Every export from CTFFactory β€” whether a single challenge or a full multi-challenge event β€” is packaged as a dual ZIP bundle. The archive contains two top-level folders:

ctf-export.zip
β”œβ”€β”€ organizer/
β”‚   β”œβ”€β”€ ctfd-import.zip        # CTFd-compatible import package
β”‚   β”œβ”€β”€ challenges/
β”‚   β”‚   β”œβ”€β”€ web-001/
β”‚   β”‚   β”‚   β”œβ”€β”€ challenge.json # Metadata, flag, category, difficulty
β”‚   β”‚   β”‚   β”œβ”€β”€ description.md # Player-facing text
β”‚   β”‚   β”‚   β”œβ”€β”€ writeup.md     # Solution guide (if generated)
β”‚   β”‚   β”‚   └── hints.json     # Hint content and unlock order
β”‚   β”‚   └── crypto-001/
β”‚   β”‚       └── ...
β”‚   └── admin-credentials.txt  # CTFd admin login for managed deployments
└── player/
    β”œβ”€β”€ challenges/
    β”‚   β”œβ”€β”€ web-001/
    β”‚   β”‚   └── description.md # Player-facing text only
    β”‚   └── crypto-001/
    β”‚       └── ...
    └── event-info.md          # Public event instructions

The organizer/ Folder

The organizer/ folder is for the event organizer only and must never be distributed to players. It contains:

  • The CTFd import package (ctfd-import.zip) β€” a fully formatted export ready to be uploaded to any CTFd instance via the standard import interface.
  • Per-challenge metadata files with flags, writeups, and hint content.
  • Admin credentials if the export was produced from a managed deployment.

The player/ Folder

The player/ folder contains only the content that is safe to share publicly. Flags, writeups, and hint unlock keys are excluded. This folder is useful for distributing challenge files to participants who are not using the CTFd interface (for example, in a classroom setting where players work from local files).

[!WARNING] Always verify that the player/ folder does not contain flags or writeup content before distributing it. CTFFactory excludes sensitive fields automatically, but review the output if you have made manual edits.

Option A β€” Self-Hosted Deployment

Use the bundle if you operate your own CTFd instance or want full control over infrastructure.

  1. Download the dual ZIP bundle from the event or challenge detail page.
  2. Log in to your CTFd instance as an administrator.
  3. Navigate to Admin Panel β†’ Config β†’ Backup β†’ Import and upload the ctfd-import.zip file from the organizer/ folder.
  4. CTFd imports all challenges, categories, point values, and flag hashes in a single operation.
  5. Configure your event timing and visibility settings directly in CTFd.

[!TIP] CTFd supports Docker-based self-hosting. The CTFd documentation at docs.ctfd.io covers installation and upgrade procedures.

Option B β€” Managed CTFd Instance

For organizers who do not want to manage infrastructure, CTFFactory can provision and operate a CTFd instance on your behalf.

Provisioning a Managed Instance

  1. From the event page, click Deploy Managed.
  2. Select the deployment region closest to your participants.
  3. Choose a deployment duration (free tier: limited window; paid plans: extended or indefinite).
  4. Click Deploy. CTFFactory provisions the CTFd instance, imports all challenges, and configures scoring automatically. This typically completes in under two minutes.
  5. You receive two URLs:
  6. Player URL β€” share this with participants.
  7. Admin URL β€” your CTFd admin panel for monitoring and configuration.

Managed Instance Features

Feature Free Tier Paid Plans
Deployment duration Time-limited Extended / indefinite
Custom domain No Yes
White-label branding No Yes
Participant limit Capped Higher or unlimited
Automatic TLS certificate Yes Yes

Deploying a Single Challenge

The Challenge Playground supports deploying a single challenge online without creating a full CTF event.

  1. Open the challenge in the Playground.
  2. Click Deploy Online.
  3. CTFFactory provisions a minimal CTFd instance pre-loaded with just that challenge.
  4. Share the public URL. The deployment runs for the duration defined by your plan tier.

This mode is useful for sharing a challenge with a colleague, running a quick demo, or testing challenge quality in a live environment before adding it to a full event.

Auto-Deploy for Static Challenges

Challenges that require no server-side infrastructure (most Crypto, Forensics, OSINT, and Reverse Engineering challenges) support auto-deploy. In auto-deploy mode:

  • Challenge files are served from CTFFactory's CDN.
  • The CTFd instance is provisioned and connected to the file delivery automatically.
  • No manual file upload step is required.

Dynamic challenges (Web, Binary Exploitation, OFFSEC) that require a live backend or container are handled through container orchestration on the managed infrastructure. Container health is monitored continuously and restarted automatically if a crash is detected.

After Deployment

Once deployed, manage your instance from the event detail page:

  • Extend deployment β€” add time to a running managed instance.
  • Download backup β€” export the current CTFd state including solve history.
  • Teardown β€” shut down the managed instance and release resources.
πŸ‡¨πŸ‡¦ Data hosted in Canada Β· Β© 2026 ExamBoot Β· Terms Β· Privacy