cyber-dojo Raspberry Pies in action



Liam Friel, who helps to run a CoderDojoBray (in Ireland) asked me for some Raspberry Pies which I was more than happy to give him, paid for from the donations lots of you generous people have made from cyber-dojo.

Liam sent me this wonderful photo of a CoderDojoBray session and writes:

Your Pies have been getting a lot of use... We've got 8 Pies in total. Got a reasonably steady turnout at the dojo, 75-85 kids turning up each week.

Awesome. If, like Liam, you would like some Raspberry Pies to help kids learn about coding, please email. Thanks

running your own cyber-dojo server on Windows

install Docker-Toolbox for Windows

From here.


open a Docker-Quickstart-Terminal



install the cyber-dojo shell script

In the Docker-Quickstart-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 the Docker-Quickstart-Terminal, type:
$ ./cyber-dojo up
The first time you run this it will download the necessary docker images for your server.
This may take several minutes depending on your network connection.


access the server via a browser

To find your server's IP address, in the Docker-Quickstart-Terminal, type:
$ docker-machine ip default
Put your server's IP address (eg 192.168.99.100) into your browser's address bar.
That's it!
This works in Chrome, in Firefox, in Opera, and in Internet Explorer. Edge sometimes has problems.


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 image size. You can pre-pull images to avoid this delay.
To display all the language+testFramework image names, in the Docker-Quickstart-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 the Docker-Quickstart-Terminal, type:
$ docker pull cyberdojofoundation/csharp_nunit


pre-pull all the language+testFramework images?

This will take a while. In the Docker-Quickstart-Terminal, type:
$ ./cyber-dojo start-point pull languages


bring down your cyber-dojo server

In the Docker-Quickstart-Terminal, type:
$ ./cyber-dojo down


running your own cyber-dojo server on a Mac

install Docker-Toolbox for Mac

From here.


open a Docker-Quickstart-Terminal



install the cyber-dojo shell script

In the Docker-Quickstart-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 the Docker-Quickstart-Terminal, type:
$ ./cyber-dojo up
The first time you run this it will download the necessary docker images for your server.
This may take several minutes depending on your network connection.


access the server via a browser

To find your server's IP address, in the Docker-Quickstart-Terminal, type:
$ docker-machine ip default
Put your server's IP address (eg 192.168.99.100) into your browser's address bar.
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 image size. You can pre-pull images to avoid this delay.
To display all the language+testFramework image names, in the Docker-Quickstart-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 the Docker-Quickstart-Terminal, type:
$ docker pull cyberdojofoundation/csharp_nunit


pre-pull all the language+testFramework images?

This will take a while. In the Docker-Quickstart-Terminal, type:
$ ./cyber-dojo start-point pull languages


bring down your cyber-dojo server

In the Docker-Quickstart-Terminal, type:
$ ./cyber-dojo down


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
Be sure to add your user to the docker group. Eg, something like
$ sudo usermod -aG docker USERNAME


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