Installation & Usage

Installation is using an out-of-source CMake build:

Dependencies

  • Docker

  • CMake

  • Python 3:
  • pip3 (for dependency installation)

These may be installed using (Ubuntu):

sudo apt-get install docker.io cmake python3-pip
sudo pip3 install lockfile \
  git+git://github.com/go-smart/python-daemon.git@master \
  docker-py

Installation

git clone https://github.com/go-smart/dockerlaunch.git
mkdir dockerlaunch-build
cd dockerlaunch-build
cmake ../dockerlaunch
make
sudo make install

This will create a dockerlaunch user and group, and add the dockerlaunch user to the Docker group. Note that this gives the dockerlaunch user access to the /var/run/docker.sock socket and, through a complex but plausible set of steps, root access. As such, care should be taken about any activity involving the dockerlaunch user.

However, the dockerlaunch group is intended only to allow access to the /var/run/dockerlaunch/dockerlaunch.sock socket - adding a user to this allows them to issue dockerlaunch commands, without consequently being able to directly access Docker’s socket. Bear in mind that your protection against exploitation is limited to the security of the dockerlaunch daemon - please make your own analysis accordingly.

NO WARRANTY is provided, implied or otherwise, and use of dockerlaunch is entirely at the user’s risk.

Usage

Ensure Docker is running (on Ubuntu, sudo service docker start). The dockerlaunch daemon may be started using the command:

sudo dockerlaunchd start

Once started, it also accepts stop and restart arguments. It will provide a small amount of diagnostic output to stdout.

Note that, if Docker is restarted, dockerlaunch will also need restarted (and consequently Glossia, if you are using dockerlaunch for that purpose).