setting up your own digital-ocean cyber-dojo server

These instructions are obsolete.

The cyber-dojo server now runs inside a docker-container.
See the new instructions on running your own cyber-dojo web server.

Is a simple 6 step process:

1. start from the right image

  • Image: One-click Apps: [Docker 1.9.1 on 14.04]
  • Size: choose $10/month or more

2. install the cyber-dojo github repo

This will take about a minute. As root (making sure you type cyber-hyphen-dojo and not cyberdojo in the git clone command)...
$ cd /var $ mkdir www $ cd www $ git clone

3. install cyber-dojo as the default rails server and all the necessary gems

This will take 5+ minutes. As root...
$ cd /var/www/cyber-dojo/admin_scripts $ ./

4. install pre-built cyber-dojo-foundation docker-images

As root...
$ cd /var/www/cyber-dojo/languages $ ./docker_list_all_images.rb
will tell you the names of the docker-images held in the cyber-dojo-foundation docker hub
For example:
... cyberdojofoundation/clangpp_googletest == C++ (clang++), GoogleTest cyberdojofoundation/coffeescript_jasmine == CoffeeScript, jasmine cyberdojofoundation/csharp_nunit == C#, NUnit cyberdojofoundation/csharp_specflow == C#, SpecFlow cyberdojofoundation/d_unittest == D, unittest cyberdojofoundation/erlang_eunit == Erlang, eunit cyberdojofoundation/fortran_funit == Fortran, FUnit cyberdojofoundation/fsharp_nunit == F#, NUnit cyberdojofoundation/gcc_assert == C (gcc), assert ...

Now do a
$ docker pull <image>
for each image of your choice. For example,
$ docker pull cyberdojofoundation/clangpp_googletest

Alternatively, you can simply pull them all (typically takes 15+ minutes)
$ cd /var/www/cyber-dojo/languages $ ./docker_pull_all_images.rb

Note that whenever you pull new images you will need to repeat step 5.

5. refresh the caches

As root...
$ cd /var/www/cyber-dojo/caches $ ./

6. start your server

As root...
$ service apache2 restart


  1. In trying to do step 5, I'm not seeing the refresh script anywhere. Has something changed since these instructions were written?

  2. Ooops. Yes it has changed. Updated. Thanks

  3. An update ... I found a refresh_all script in the caches directory, and ran that. It ran the languages script and the exercises script, then I got an error "docker is NOT installed!".
    I can get to my site, but when I click on "Create a practice session" I get an error on the show_languages_and_tests page.

  4. Hmmm. If it's not seeing docker things are definitely not right.
    You might try a [git pull] in the var/www/cyber-dojo directory and then try the script.
    Are you running as root?
    At the terminal what does [docker --version] say?
    Probably won't have any time to look at this till Sunday... Sorry

  5. I've found the problem and fixed it.
    It you go to /var/www/cyber-dojo and do a [git pull] and then repeats steps 5 and 6 you should be ok.
    Thanks for reporting the problem.

  6. Wow! Thanks for the awesome support. I've just made a donation.

  7. Shouldn't the clone url be

  8. Ooops. You are quite right. Thanks