/Octopus-Docker

Scripts to run Octopus Server inside a docker container [WIP]

Primary LanguagePowerShellOtherNOASSERTION

These images can be used to bring up an instance of an Octopus Server or Tentacle in a container.

This is a preview, and is not supported

This is for demonstration and test purposes only and should not be used to run a production server.

Usage

On a Windows Server 2016 TP5 server, with the containers feature and Docker for Windows installed, just run:

docker-compose up

By default the latest tagged image will be used. To use a specific version, set the OCTOPUS_VERSION environment variable. Once launched, Octopus will be available on port 81, and you can find the NATed address by running:

$docker = docker inspect octopusdocker_octopus_1 | convertfrom-json
start "http://$($docker[0].NetworkSettings.Networks.nat.IpAddress):81"

Setting up a server to run containers on

The easiest way to setup a server on which to run docker containers is to follow these instructions.

A note on MasterKeys and passwords

Octopus makes use of MasterKeys for security and encryption. When the container is first run, it will generate a new MasterKey and store it on the data volume supplied. It uses this key to talk to the database, so if you want to keep the data in the database, please do not lose this key.

You can configure that to work against a previous database by adding a line to the .env file by adding a line: masterkey

Support status

Docker on Windows is still in its infancy. These images are just a preview and are unsupported.

Here be dragons.

That said, please let us know how you get along, and how we can make it better.

Additional Information

  • The default admin credentials are admin / Passw0rd123. This can (and should) be overridden in the .env file ... or by setting environment variables, or by passing -e OctopusAdminUsername=XXX -e OctopusAdminPassword=YYY ...

  • These images are based off the Octopus-Docker repo on GitHub.