Tom Whiston edited this page Apr 20, 2018 · 17 revisions


  • MySQL >= 5.6.4/MariaDB >= 5.3
  • ansible in $PATH
  • git >= 2.x in $PATH

Dependency installation with Docker

docker run -d --name=mysql -p -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql

Install instructions

  1. Copy download link for your OS from Releases page
  2. (linux) curl -L <link> > /usr/bin/semaphore
  3. Run semaphore -setup
  4. Continue setup (see below for more detail)

Saving semaphore to /usr/bin will make it easier to upgrade. Semaphore looks inside $PATH for itself (semaphore). If it cannot find itself it won't be able to upgrade and you'll need to do it manually.


  • Mysql credentials, format for host is: ip:port (defaults to
  • Playbook path - semaphore will store playbooks there

All parameters are required, setup will ask you if they are correct and if so, write them to playbook-path/semaphore.json which you can edit at any time. Playbook path defaults to /tmp/semaphore which will be auto-created. The setup script will also test all mysql connections to see whether they work. It will also create the database if it doesn't exist, perform migrations and set up the initial user for you.


The PORT environment variable can be used to change the port on which semaphore listens. Defaults to 3000.

HTTPs and security

Semaphore uses http and you have a few options to secure your installation:

  • use semaphore in a VPN or in your office
  • set up a reverse proxy like nginx or Caddy with HTTPs. See nginx example config
  • use http with cloudflare
  • use plain http. (NOT ADVISED, unless you do not care about the contents being exposed)


Alternatively some third party ansible roles are available on ansible galaxy to set up Semaphore. However these are not supported directly by us, so please address questions about them directly to the authors

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.