Build-instructions (presuming ubuntu/mint/debian):
1. Clone this repository. git clone https://TZer0@bitbucket.org/TZer0/crawl-docker.git
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) https://docs.docker.com/installation/ubuntulinux/
6. Edit The section that says #Configure here in the Dockerfile.
7. Run build.sh. The last command should end with "Successfully built".
8. Run run.sh. This starts a shell inside the Docker container.
9. Inside the docker: /utils/postbuild.sh
You are now running inside the docker, you may now test webtiles and more once postbuild.sh 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/config.py and run the command again.
The numbers you see below on bitbucket most likely do not correspond to the numbers in the README
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.
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.