running your own cyber-dojo server on Linux

install docker

There are two ways to do this:
  • Follow the instructions on the docker website.
  • Either curl or wget the quick-and-easy install script at https://get.docker.com
    $ curl -sSL https://get.docker.com/ | sh $ wget -qO- https://get.docker.com/ | sh
Now add your user to the docker group. Eg, something like
$ sudo usermod -aG docker YOUR_USERNAME
Now log out and log in again, for the usermod to take effect.

install the cyber-dojo shell script

In a terminal, type:
$ curl -O https://raw.githubusercontent.com/cyber-dojo/commander/master/cyber-dojo $ chmod +x cyber-dojo


bring up your cyber-dojo server

In a terminal, type:
$ ./cyber-dojo up
The first time you run this it will download the necessary docker images for your server.
Put your server's IP address into your browser.
That's it!



pre-pull an individual language+testFramework image?

The first time you setup a practice-session for a given language and test-framework (eg C#, NUnit) the server will pull its docker image. This can take a few minutes depending on your network connection and the size of the image. You can pre-pull images to avoid this delay.
To display all the language+testFramework image names, in a terminal, type:
$ ./cyber-dojo start-point inspect languages
For example:
MAJOR_NAME MINOR_NAME IMAGE_NAME PULLED? Asm assert cyberdojofoundation/nasm_assert no BCPL all_tests_passed cyberdojofoundation/bcpl_all_tests_passed no Bash bash_unit cyberdojofoundation/bash_unit no Bash shunit2 cyberdojofoundation/bash_shunit2 no C (clang) Cgreen cyberdojofoundation/clang_cgreen no C (clang) assert cyberdojofoundation/clang_assert no C (gcc) Cgreen cyberdojofoundation/gcc_cgreen no C (gcc) CppUTest cyberdojofoundation/gcc_cpputest no C (gcc) Unity cyberdojofoundation/gcc_unity no C (gcc) assert cyberdojofoundation/gcc_assert no C# Moq cyberdojofoundation/csharp_moq no C# NUnit cyberdojofoundation/csharp_nunit no C# SpecFlow cyberdojofoundation/csharp_specflow no C++ (clang++) Cgreen cyberdojofoundation/clangpp_cgreen no C++ (clang++) GoogleMock cyberdojofoundation/clangpp_googlemock no C++ (clang++) GoogleTest cyberdojofoundation/clangpp_googletest no ...
Then pull your chosen image name. For example, in a terminal, type:
$ docker pull cyberdojofoundation/csharp_nunit


pre-pull all the language+testFramework images?

This will take a while. In a terminal, type:
$ ./cyber-dojo start-point pull languages


bring down your cyber-dojo server

In a terminal, type:
$ ./cyber-dojo down


1 comment:

  1. Jon, It is amazing how easy you have made the creation of a cyber-dojo server! Thank you, James

    ReplyDelete