SemaphoreDocs
Search…
Installation
You can install Semaphore in 4 ways:

Snap

To install Semaphore via snap run following command in terminal:
1
sudo snap install semaphore
Copied!
Semaphore will be available by URL https://localhost:3000.
But to log in, you should create an admin user. Do it by the following command:
1
sudo snap stop semaphore
2
3
sudo semaphore user add --admin \
4
--login john \
5
--name=John \
7
--password=12345
8
9
sudo snap start semaphore
Copied!
You can check the status of the Semaphore service using the following command:
1
sudo snap services semaphore
Copied!
It should print the following table:
1
Service Startup Current Notes
2
semaphore.semaphored enabled active -
Copied!
After installation, you can set up Semaphore via Snap Configuration. Use following command to see your Semaphore configuration:
1
sudo snap get semaphore
Copied!
List of available options you can find in Configuration options reference.

Package manager

Python, Ansible and Git should be installed on your system.
Download package file from Releases page.
*.deb for Debian and Ubuntu, *.rpm for CentOS and RedHat.
Install it with using package manager.
Debian / Ubuntu (x64)
Debian / Ubuntu (ARM64)
CentOS (x64)
CentOS (ARM64)
1
wget https://github.com/ansible-semaphore/semaphore/releases/\
2
download/v2.8.2/semaphore_2.8.2_linux_amd64.deb
3
4
sudo dpkg -i semaphore_2.8.2_linux_amd64.deb
Copied!
1
wget https://github.com/ansible-semaphore/semaphore/releases/\
2
download/v2.8.2/semaphore_2.8.2_linux_arm64.deb
3
4
sudo dpkg -i semaphore_2.8.2_linux_arm64.deb
Copied!
1
wget https://github.com/ansible-semaphore/semaphore/releases/\
2
download/v2.8.2/semaphore_2.8.2_linux_amd64.rpm
3
4
sudo yum install semaphore_2.8.2_linux_amd64.rpm
Copied!
1
wget https://github.com/ansible-semaphore/semaphore/releases/\
2
download/v2.8.2/semaphore_2.8.2_linux_arm64.rpm
3
4
sudo yum install semaphore_2.8.2_linux_arm64.rpm
Copied!
Setup Semaphore by following command:
1
semaphore setup
Copied!
Now you can run Semaphore:
1
semaphore service --config=./config.json
Copied!
Semaphore will be available by URL https://localhost:3000.

Docker

Create file docker-compose.yml with following content:
1
version: '2'
2
3
services:
4
5
mysql:
6
ports:
7
- 3306:3306
8
image: mysql:5.6
9
hostname: mysql
10
environment:
11
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
12
MYSQL_DATABASE: semaphore
13
MYSQL_USER: semaphore
14
MYSQL_PASSWORD: semaphore
15
16
semaphore:
17
ports:
18
- 3000:3000
19
image: ansiblesemaphore/semaphore:latest
20
environment:
21
SEMAPHORE_DB_USER: semaphore
22
SEMAPHORE_DB_PASS: semaphore
23
SEMAPHORE_DB_HOST: mysql
24
SEMAPHORE_DB_PORT: 3306
25
SEMAPHORE_DB: semaphore
26
SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
27
SEMAPHORE_ADMIN_PASSWORD: cangetin
28
SEMAPHORE_ADMIN_NAME: admin
29
SEMAPHORE_ADMIN_EMAIL: [email protected]
30
SEMAPHORE_ADMIN: admin
31
depends_on:
32
- mysql
Copied!
Run following command to start Semaphore with MySQL:
1
docker-compose up
Copied!
Semaphore will be available by URL https://localhost:3000.
For more information about the Docker Compose, see the Docker Compose reference.

Binary file

Python, Ansible and Git should be installed on your system.
Download *.tar.gz for your platform from Releases page. Unpack it and setup Semaphore.
Linux (x64)
Linux (ARM64)
Windows (x64)
1
wget https://github.com/ansible-semaphore/semaphore/releases/\
2
download/v2.8.2/semaphore_2.8.2_linux_amd64.tar.gz
3
4
tar xf semaphore_2.8.2_linux_amd64.tar.gz
5
6
./semaphore setup
Copied!
1
wget https://github.com/ansible-semaphore/semaphore/releases/\
2
download/v2.8.2/semaphore_2.8.2_linux_arm64.tar.gz
3
4
tar xf semaphore_2.8.2_linux_arm64.tar.gz
5
6
./semaphore setup
Copied!
1
Invoke-WebRequest `
2
-Uri ("https://github.com/ansible-semaphore/semaphore/releases/" +
3
"download/v2.8.2/semaphore_2.8.2_windows_amd64.zip") `
4
-OutFile semaphore.zip
5
6
Expand-Archive -Path semaphore.zip -DestinationPath ./
7
8
./semaphore setup
Copied!
Now you can run Semaphore:
1
./semaphore service --config=./config.json
Copied!
Semaphore will be available by URL https://localhost:3000.

Run as service

If you installed Semaphore via package manager or by downloading binary file, you should create Semaphore service manually.
Create systemd service file:
Replace /path/to/semaphore and /path/to/config.json to your semaphore and config file path
1
sudo cat > /etc/systemd/system/semaphore.service <<EOF
2
[Unit]
3
Description=Semaphore Ansible
4
Documentation=https://github.com/ansible-semaphore/semaphore
5
Wants=network-online.target
6
After=network-online.target
7
8
[Service]
9
Type=simple
10
ExecReload=/bin/kill -HUP $MAINPID
11
ExecStart=/path/to/semaphore service --config=/path/to/config.json
12
SyslogIdentifier=semaphore
13
Restart=always
14
15
[Install]
16
WantedBy=multi-user.target
17
EOF
Copied!
Start the Semaphore service:
1
sudo systemctl daemon-reload
2
sudo systemctl start semaphore
Copied!
Check the Semaphore service status:
1
sudo systemctl status semaphore
Copied!
To make the Semaphore service auto start:
1
sudo systemctl enable semaphore
Copied!
Last modified 21h ago