Build-instructions (presuming ubuntu/mint/debian):

1. Clone this repository. git clone
2. Make sure that you are running a kernel newer than 3.8 - run uname -a. Don't confuse 3.1x with 3.1.x.
3. Edit settings.rc to fit your storage-locations. Remember that VERSIONSDB_VOLUME is a file, not a folder.
4. sudo apt-get install apparmor
5. Install docker: (Ubuntu/Mint) 
6. Edit The section that says #Configure here in the Dockerfile.
7. Run The last command should end with "Successfully built".
8. Run This starts a shell inside the Docker container.
9. Inside the docker: /utils/

You are now running inside the docker, you may now test webtiles and more once finishes.
Remember that there is no chroot, so the webserver is located in /crawl-master/webserver

To start both webtiles and dgamelaunch, execute the following inside the docker:



To connect to webtiles, connect to localhost:8080 in a browser.

To connect using ssh, use the following on your host machine:

ssh terminal@localhost -p 2222


Once the webtiles-server is launched, it should be available at localhost:8080 in your host machine. To see if it is running, run top. If it is not running, try editing daemon = False in /crawl-master/webserver/ and run the command again.

The numbers you see below on bitbucket most likely do not correspond to the numbers in the README


7. Testing.
10. Modify dgamelaunch-config. The idea is to transition to automated config/menu-generators and game-binary-setup based on database tables. This will simplify the design of the docker significantly and make modification of the server an easier task. The idea is that adding/removing a game branch should be an easy command-line task.


1. ssh-access.
3. Using external volumes for storing saves, passwords, dumps, compiled crawl-binaries and replays.
4. Applying version-settings from the Dockerfile properly to all of the config.
5. (check!!) Find and replace all instances of cszo and other server-specific things.
2. Rebuild-trigger. (waiting for #10)
6. Auto-rebuilds (cron). (waiting for #10)
8. Move parts of the process to be run from inside the docker if they rely on host-mounted volumes.
9. Tweak menus/available version settings. (CLOSED, see #10)


chmod u+s needs to be run from within the Docker.