2026-11-03
How to Run a Live CTF Event for a Bootcamp Cohort
Sooner or later, every bootcamp or training company wants to run a live, timed, head-to-head hacking event — a capstone CTF for a graduating cohort, a recruiting event for sponsors to watch candidates work, or an orientation-week team exercise to get a new class excited before the curriculum gets hard. The pitch is simple: put everyone in a room (or a Zoom call), give them challenges, start a clock, show a scoreboard.
The execution is where most people underestimate the work. A live CTF isn't a curriculum problem, it's an infrastructure-and-operations problem for one night, and the two don't scale the same way. Here's what actually goes into running one well, and the three realistic ways to get there.
What a live CTF event actually requires
Strip away the leaderboard graphics and a real event needs five things working at once:
- Per-team isolation — Team A's workspace and targets can't be reachable from Team B's. This sounds obvious until you've watched one team accidentally (or not-so-accidentally) scan into a neighboring team's segment and solve a challenge they shouldn't have had network access to.
- Fast, reliable spin-up — twenty teams all clicking "start" within the same two minutes at kickoff. If your provisioning takes 90 seconds per environment and does it sequentially, you've burned half the event time on a loading screen.
- Flag checking that can't be guessed or shared — static flags copy-pasted into a Slack channel ruin a scoreboard in minutes. You need either per-team unique flags or server-side verification that doesn't trust the client.
- A live scoreboard — people only stay engaged in a timed event if they can see where they stand. This is a surprisingly easy thing to get wrong under load; a scoreboard that lags or double-counts submissions erodes trust in the whole event fast.
- Clean teardown — twenty-plus sets of containers, networks, and volumes need to disappear completely when it's over, both for cost and because leftover infrastructure is how "temporary event boxes" quietly turn into permanent attack surface six months later.
None of these are hard individually. Getting all five right, for the first time, on a deadline, the night before a cohort's capstone event, is where things go wrong.
Three ways to actually run one
Option 1: Shared infrastructure, manually managed. Spin up a beefy host or two, hand out SSH access or shared VM snapshots, run challenges as scripts or manually-started containers, track scores in a spreadsheet or a shared doc. This is how a lot of bootcamps run their first CTF, because it requires no new tooling — just time and an instructor who's comfortable on the command line.
It works for small groups (under a dozen teams) exactly once, and then everyone remembers why they don't want to do it again. Isolation is whatever you remember to configure by hand, flag-sharing is trivial to catch but also trivial to do, and if a host falls over mid-event you're improvising in front of a room of people.
Option 2: Self-hosted CTFd (or similar) plus your own container orchestration. CTFd (and a handful of open-source alternatives) solve the scoreboard, challenge catalog, and flag-submission problem well — it's mature, well-documented, and free. What it does not solve is per-team infrastructure: CTFd expects you to bring your own backend for actually standing up isolated, attackable environments per team. That means you're building (or wiring together) the container orchestration, the per-session networking, and the teardown automation yourself, on top of the scoreboard layer.
This is the right call if you're running CTFs regularly enough to justify owning that stack, and you have an engineer who wants to own it. It's a real, durable asset once built. It's also real ongoing maintenance — Docker and orchestration tooling drift, and "the CTF platform broke two days before the big event" is a sentence every team that's done this has said at least once.
Option 3: Run it on a platform that already has per-session container isolation built in. This is the category we build in, so take the framing with the appropriate grain of salt — but the honest case for it in this specific scenario is narrower than "buy the platform for everything." For a live, timed, multi-team event specifically, the thing you're actually paying for is: isolation and provisioning that already works at the concurrency you need, a scoreboard that's already been load-tested by someone else's event, and zero infrastructure to tear down afterward because it was never yours to own.
Whichever route you pick, test the "everyone starts at once" case specifically, not just a single walkthrough. A lab environment that provisions in 5 seconds for one person doesn't automatically provision in 5 seconds for thirty people clicking start in the same ten-second window — concurrent cold-starts (image pulls, network creation, DB writes) are where capacity problems actually show up, and they will not show up in a solo dry run the week before.
The comparison, honestly
| Shared/manual | Self-hosted CTFd + your own orchestration | Powered-by platform | |
|---|---|---|---|
| Setup time for a first event | Low (hours) | High (weeks, if orchestration doesn't already exist) | Low (hours to a few days) |
| Per-team isolation | Manual, error-prone | Real, but you build and maintain it | Built-in |
| Scales past ~15 concurrent teams | Poorly | Yes, if your orchestration is solid | Yes |
| Ongoing cost if you run this often | Low $, high staff time | Infra cost + an engineer's attention | Recurring platform cost, ~zero staff time |
| Who owns it long-term | Nobody, by design | You | The vendor |
| Best fit | One-off, small group, low stakes | Frequent events, team wants to own the stack | Occasional-to-frequent events, team doesn't want to own infra |
What we'd actually tell you to do
If this is a one-time, low-stakes exercise for eight people, don't overbuild — Option 1 is fine, just budget real prep time and don't do it for the first time the morning of. If you're a training company or bootcamp that's going to run CTFs as a recurring part of your program — cohort capstones every six weeks, recruiting nights, sponsor demos — the real decision isn't build-vs-buy in the abstract, it's whether owning container orchestration is a skill your team wants to invest in for its own sake. Some do, and Option 2 is a genuinely good long-term asset for them. Most training companies would rather spend that engineering time on curriculum and student outcomes, which is the actual argument for Option 3 — not that it's cheaper on any single event, but that it removes an entire category of pre-event anxiety from every event after the first one.
Either way, the scoreboard is the least of your problems. The infrastructure underneath it is the whole job.