Docker platform with a node.js vendetta
Shell Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Infrastructure management for docker stacks


First you need to install:

Then open a command line (windows or mac or linux).

Then change directory to where you keep projects e.g. cd projects.

Then we need to clone the source code:

$ git clone
$ cd viking

start vm

We use vagrant to start and stop virtualbox vms - to start the VM:

$ cd viking
$ vagrant up

This will start a vagrant box and install dependencies.

ssh to vm

Once the Vagrant box has started - we need a command line for it so we SSH into the box.

$ vagrant ssh

NOTE: on Windows you will need to install Putty and use Puttygen (download from the same page) to convert the vagrant public key.

A guide for how to do this is here

cd to /vagrant

Once you have a command line to the box - change directory to where this repo is mounted as a shared folder - /vagrant

$ cd /vagrant
$ ls -la


There is an admin script that will manage the stack for development:

$ viking help


Create a new project at path - this will automatically call configure

$ viking create <path>


This gets a project configured.

$ viking configure <path>


You can manually set variables in the .viking file inside the project folder

$ cat myproject/.viking

start services

$ viking up <path>

stop services

$ viking down <path>

show service status

$ viking status <path>

view app in browser

A port is mounted onto the host so you can enter into a browser once you have started the services.

build client assets

The client CSS and JS is bundled - use the admin bundle command to rebuild it

$ viking build <path>


You can configure the variables for viking itself by setting values in the /etc/viking/config file.


There are various types of test:

  • acceptance tests - test the whole system against cloud instances
  • integration tests - test parts of the system working together
  • unit tests - test isolated unit of the system

To run the acceptance tests you must have vagrant and virtualbox installed and SSH into the VM:

$ vagrant up
$ vagrant ssh
vagrant$ cd /vagrant

acceptance tests

To run the acceptance tests - the following variables must be configured:

cloud provider vars here

You can viking configure to enter these values.

$ viking test acceptance

will run the acceptance tests

integration tests

$ viking test integration

unit tests

$ viking test unit

all tests

$ viking test all