Deploy and configure the Docksal development environment.




1,006 latest version

5.0 quality score

Version information

  • 1.9.1 (latest)
  • 1.9.0
  • 1.8.0
  • 1.7.0
  • 1.6.0
  • 1.5.0
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
  • 1.0.0
  • 0.1.1
released Apr 1st 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • CentOS

Start using this module


microserve/docksal — version 1.9.1 Apr 1st 2020

Build Status


Table of Contents

  1. Description
  2. Setup - The basics of getting started with docksal
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module


Installs and configures the docksal ( program both for use by individual developers and in the 'CI' configuration. Does not manage configurations.


What docksal affects

Installs the fin cli to /usr/local/fin so that any user can execute it. Also creates user-specific config files in /.docksal/docksal.env and assumes full control over that file.

Setup Requirements

Requires docker installed. For Mac requires docker installed either natively, or virtualbox installed.

Beginning with docksal

Installing docksal globally is as simple as include docksal. Doing this will not affect individual user configuration files.


Install and configure docksal for the user demo

Install docksal globally and take control over the demo user's configuration file. This will control the file /home/demo/.docksal/docksal.env and install the default configuration options.

include docksal

docksal::config { 'demo': }

Install and configure docksal for a non-default home path

Although we assume that the home path of the user is /home/<username>, this is not applicable to mac nor to all users. If you need to override this value, it is as simple as:

include docksal

docksal::config { 'root':
  home_directory => '/root'

Install and configure with the CI variable set

Docksal CI mode is useful when you want to have CI server managed development environments. You can create the config for that by using:

include docksal

docksal::config { 'ci_user':
  home_directory => '/var/ci_runner',
  ci => true

Adding custom environment variables

To add custom environment variables to the docksal.env files managed by puppet, you can pass in the env parameter. For example:

include docksal

docksal::config { 'ci_user':
  home_directory => '/var/ci_runner',
  env => {


  • User home directory default doesn't ever work for macos