Ansible Semaphore · 6 min read · Oct 19, 2025
So installieren Sie Ansible Semaphore auf Debian 12

Ansible Semaphore ist eine Open-Source-Weboberfläche für Ansible-Playbooks. Es ermöglicht die Bereitstellung über die Ansible-Automatisierung über einen Webbrowser. Ansible Semaphore ist rein in Go geschrieben. Es kann auf Linux, Windows und macOS ausgeführt werden.
Ansible Semaphore ermöglicht die Bereitstellung über Ansible von einem intuitiven und reaktionsschnellen Web-Administrations-Dashboard. Sie können die Konfiguration jederzeit zurücksetzen und wiederherstellen sowie Umgebungen, Geheimnisse, Inventare und Zugriffsschlüssel verwalten. Es ermöglicht Ihnen auch, Playbooks nach Zeitplan mit detaillierten Protokollen und Benachrichtigungen auszuführen.
In diesem Leitfaden führen wir Sie durch die Installation von Ansible Semaphore auf dem Debian 12-Server. Sie installieren Semaphore mit PostgreSQL als Datenbank und Nginx als Reverse-Proxy.
Voraussetzungen
Um mit diesem Leitfaden zu beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Debian 12-Server.
- Einen Nicht-Root-Benutzer mit Administratorrechten.
Abhängigkeiten installieren
Um Ansible Semaphore zu installieren, müssen Sie Abhängigkeiten wie Ansible, PostgreSQL und Nginx auf Ihrem System installieren. Sie verwenden PostgreSQL als Datenbank und Nginx als Reverse-Proxy.
Zuerst führen Sie den folgenden Befehl aus, um Ihr Debian-Paket-Index zu aktualisieren und Abhängigkeiten wie das ansible, die postgresql-Datenbank und den nginx-Webserver zu installieren.
sudo apt update
sudo apt install git curl wget software-properties-common ansible postgresql nginx
Geben Sie Y ein, um die Installation zu bestätigen.

Nachdem die Installation abgeschlossen ist, überprüfen Sie den postgresql-Dienst mit dem folgenden Befehl.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
Sie werden sehen, dass der postgresql-Dienst läuft.

Überprüfen Sie nun den Status des nginx-Dienstes mit folgendem:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Im Folgenden können Sie sehen, dass der nginx-Webserver läuft.

Überprüfen Sie zuletzt die ansible-Version mit dem folgenden Befehl. Die Ansible 2.14 sollte auf Ihrem Debian-System installiert sein.
ansible –version

Datenbank einrichten
Jetzt, da Sie die Abhängigkeiten installiert haben, konfigurieren Sie PostgreSQL und erstellen eine neue Datenbank und einen Benutzer, die Ansible Semaphore verwenden wird.
Melden Sie sich mit dem folgenden Befehl am PostgreSQL-Server an:
sudo -u postgres psql
Führen Sie nun die folgenden Abfragen aus, um eine neue Datenbank semaphoredb und einen Benutzer semaphore zu erstellen. Passen Sie das Passwort mit Ihren Informationen an.
CREATE USER semaphore WITH PASSWORD ‘passw0rd’;
CREATE DATABASE semaphoredb OWNER semaphore;
Führen Sie als Nächstes die folgenden Abfragen aus, um die Liste der Datenbanken und Benutzer in PostgreSQL zu überprüfen. Sie werden sehen, dass ein neuer Benutzer semaphore und die Datenbank semaphoredb verfügbar sind.
\du
\l
Geben Sie zuletzt quit ein, um PostgreSQL zu verlassen.

Ansible Semaphore installieren
Ansible Semaphore bietet Pakete für verschiedene Linux-Distributionen, einschließlich Debian/Ubuntu. Sie können die DEB-Datei von Ansible Semaphore herunterladen und mit dem dpkg-Befehl installieren.
Laden Sie das Debian-Paket von Ansible Semaphore mit dem folgenden Befehl herunter:
VER=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest|grep tagname | cut -d ‘“‘ -f 4|sed ‘s/v//g’)
wget -q https://github.com/semaphoreui/semaphore/releases/download/v${VER}/semaphore${VER}_linux_amd64.deb
Sobald der Download abgeschlossen ist, installieren Sie Ansible Semaphore mit dem folgenden dpkg-Befehl:
sudo dpkg -i semaphore_${VER}_linux_amd64.deb
Unten sehen Sie, dass die Installation abgeschlossen ist.

Führen Sie nun den folgenden Befehl aus, um die semaphore-Binärdatei zu finden, die unter /usr/bin/semaphore verfügbar sein sollte.
which semaphore
Überprüfen Sie die Ansible Semaphore-Version mit dem folgenden Befehl. Sie werden sehen, dass Ansible Semaphore 2.9 installiert ist.
semaphore version
semaphore help

Ansible Semaphore konfigurieren
In diesem Abschnitt konfigurieren Sie das Installationsverzeichnis von Ansible Semaphore, integrieren Semaphore mit PostgreSQL und richten dann den Admin-Benutzer und das Passwort für Semaphore ein. Danach werden Sie Semaphore auch im Hintergrund als systemd-Dienst ausführen.
Erstellen Sie ein neues Konfigurationsverzeichnis /etc/semaphore und wechseln Sie dorthin. Führen Sie dann den Befehl semaphore setup aus, um Ansible Semaphore zu konfigurieren.
mkdir -p /etc/semaphore; cd /etc/semaphore semaphore setup
- Geben Sie
3ein, um PostgreSQL als Datenbank zu verwenden. - Geben Sie
/opt/playbookein, um das Standard-Playbook-Verzeichnis einzurichten. - Drücken Sie ENTER und lassen Sie die öffentliche URL als Standard.
- Drücken Sie ENTER, um die Standardbenachrichtigungseinstellungen zu verwenden.
- Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein. Dies wird verwendet, um sich bei der Ansible Semaphore-Webanwendung anzumelden.

Nachdem der Vorgang abgeschlossen ist, sehen Sie die Bestätigung unten:

Jetzt, da Sie Ansible Semaphore konfiguriert haben, erstellen Sie einen neuen systemd-Dienst und führen Ansible Semaphore im Hintergrund aus.
Erstellen Sie eine neue systemd-Dienstdatei /etc/systemd/system/semaphore.service mit dem nano-Editor.
sudo nano /etc/systemd/system/semaphore.service
Fügen Sie die folgende Konfiguration ein.
[Unit]
Description=Semaphore Ansible
Documentation=https://github.com/ansible-semaphore/semaphore
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/bin/semaphore service --config=/etc/semaphore/config.json
SyslogIdentifier=semaphore
Restart=always
[Install]
WantedBy=multi-user.target
Speichern Sie die Datei und beenden Sie den Editor.
Führen Sie als Nächstes den systemctl-Befehl unten aus, um den systemd-Manager neu zu laden und Ihre Änderungen anzuwenden.
sudo systemctl daemon-reload
Führen Sie zuletzt den folgenden Befehl aus, um den semaphore-Dienst zu starten und zu aktivieren. Überprüfen Sie dann den Dienst, um sicherzustellen, dass er läuft.
sudo systemctl enable –now semaphore
sudo systemctl status semaphore
Sie können unten sehen, dass der semaphore-Dienst läuft. Und standardmäßig läuft er auf Port 3000.

Nginx als Reverse-Proxy einrichten
Jetzt, da Semaphore läuft, richten Sie Nginx als Reverse-Proxy für Ihre Semaphore-Installation ein. Stellen Sie sicher, dass Sie den Domainnamen bereit haben (lokal oder öffentlicher Domainname).
Erstellen Sie eine neue Serverblockkonfiguration /etc/nginx/sites-available/semaphore.conf mit dem nano-Editor.
sudo nano /etc/nginx/sites-available/semaphore.conf
Fügen Sie die folgende Konfiguration ein, um Nginx als Reverse-Proxy für Ansible Semaphore einzurichten, das auf Port 3000 läuft. Stellen Sie sicher, dass Sie die Option server_name mit Ihrem Domainnamen ändern.
upstream semaphore {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name auto.howtoforge.local;
client_max_body_size 0;
chunked_transfer_encoding on;
location / {
proxy_pass http://semaphore/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_request_buffering off;
}
location /api/ws {
proxy_pass http://semaphore/api/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
}
Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie nun den folgenden Befehl aus, um die Serverblockdatei semaphore.conf zu aktivieren und Ihre Nginx-Syntax zu überprüfen. Wenn Sie die richtige Syntax haben, sehen Sie die Ausgabe test is successful - syntax is ok.
sudo ln -s /etc/nginx/sites-available/semaphore.conf /etc/nginx/sites-enabled/
sudo nginx -t
Führen Sie zuletzt den folgenden systemctl-Befehl aus, um Nginx neu zu starten und Ihre Änderungen anzuwenden.
sudo systemctl restart nginx

Ansible Semaphore mit HTTPS sichern
Um die Ansible Semaphore-Installation zu sichern, aktivieren Sie HTTPS über den Nginx-Reverse-Proxy. Sie verwenden Certbot, um HTTPS für Semaphore zu generieren und zu konfigurieren.
Installieren Sie die Pakete certbot und python3-certbot-nginx mit dem folgenden Befehl:
sudo apt install certbot python3-certbot-nginx -y
Nachdem die Installation abgeschlossen ist, führen Sie den certbot-Befehl unten aus, um SSL/TLS-Zertifikate für Ihre Ansible Semaphore-Installation zu generieren. Stellen Sie sicher, dass Sie die Domain und die E-Mail-Adresse mit Ihren Informationen ändern.
sudo certbot –nginx –agree-tos –no-eff-email –redirect –email [email protected] -d auto.howtoforge.local
Sobald der Vorgang abgeschlossen ist, sind Ihre SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar und Ihre Semaphore-Installation ist mit HTTPS gesichert.
Anmelden bei Ansible Semaphore
Besuchen Sie Ihren Semaphore-Domainnamen, der https://auto.howtoforge.local/ ist. Wenn Ihre Installation erfolgreich ist, sehen Sie die Anmeldeseite von Ansible Semaphore.
Geben Sie Ihren Admin-Benutzer und Ihr Passwort ein und klicken Sie auf ANMELDEN, um zu bestätigen.

Geben Sie nun den Namen Ihres ersten Projekts ein und klicken Sie auf Weiter, um fortzufahren.

Sie sehen das Semaphore-Dashboard wie folgt:

Fazit
Herzlichen Glückwunsch! Sie haben die Installation von Ansible Semaphore auf dem Debian 12-Server abgeschlossen. Sie haben Semaphore mit dem PostgreSQL-Server und dem Nginx-Webserver installiert. Sie haben Semaphore auch mit HTTPS über certbot und Letsencrypt gesichert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.