Installing Swarmlet on a server

Recommended distribution: Ubuntu 18.04 x64

Tested only on Ubuntu 18.04 x64.
Please create a PR if you have got it working on your system!
Or propose to edit this page to add your OS to the list of supported systems.

  • Requirements: Bash 4.0 or higher (run bash --version)

Quick interactive installation

Make sure you have a (sub) domain available which is pointed to your server, this is necessary to access the included dashboards such as Swarmpit or Matomo. To install the latest version of Swarmlet, log in to your server as root and run:

curl -fsSL | bash

Headless installation

# Headless (noninteractive) installation:
curl -fsSL | bash -s \
INSTALLATION_TYPE=noninteractive \
INSTALL_MODULES="matomo swarmpit" \
NEW_HOSTNAME=swarm-manager-1 \
SWARMLET_PASSWORD=nicepassword \
# Install a different branch
curl -fsSL$BRANCH/install | bash -s \

The installation should take a few minutes to complete.

Installation options

INSTALLATION_TYPE=interactive # (default interactive, options: interactive|noninteractive) Use CLI wizard to setup Swarmlet
INSTALL_BRANCH=master # (default master) The default branch to install
SWARMLET_USERNAME=$USER # (default $USER) Used for authentication with the registry and web services / dashboards
SWARMLET_PASSWORD=swarmlet # (default swarmlet) Used for authentication with the registry and web services / dashboards
SSH_AUTHORIZED_KEYS=$HOME/.ssh/authorized_keys # (default $HOME/.ssh/) The authorized SSH keys for git deployments
NEW_HOSTNAME=$HOSTNAME # (default $HOSTNAME) Optional: set a new hostname
ROOT_DOMAIN= # (default undefined) The domain to use for deployment of included services
INSTALL_MODULES= # (default undefined, options: matomo|swarmpit|swarmprom|portainer) Seperate by space and wrap in quotes to install multiple modules
CREATE_SWAP=false # (default false) Allocate 1GB of swap space
INSTALL_ZSH=false # (default false) Install 'Oh My Zsh'