A stupid game for learning about containers, capabilities, and syscalls.

Clone this repo:


  1. 79eaf16 pid limit by Jess Frazelle · 6 weeks ago master
  2. 20474fe change to alpine by Jess Frazelle · 7 weeks ago
  3. 4d021b4 Migrate from term.js to xterm.js (#13) by Andrew Donnellan · 3 months ago
  4. 3d1d8cf Dockerfile.dev: install clean-css-cli instead of clean-css (#12) by Andrew Donnellan · 4 months ago
  5. 8efc0a0 mprotect by Jess Frazelle · 4 months ago


A stupid game for learning about capabilities and syscalls, WIP.

Travis CI

To add a question edit this file: static/js/questions.js.

Run contained.af locally

Contained is made of a few components:

  • A static HTML and JavaScript frontend in static/
  • A Go web server in the project root
  • An isolated Docker installation, running inside a Docker container (“Docker-in-Docker”).

Prepare the static assets with:

make dev

Start an isolated Docker instance in the background with:

make dind

Build and run the server with:

make run

After a few moments, contained will be available at http://localhost:1234/.