Установка Ansible · 5 min read · Oct 19, 2025
Как установить Ansible Semaphore на Debian 12

Ansible Semaphore — это веб-интерфейс с открытым исходным кодом для Ansible playbooks. Он позволяет развертывание с использованием автоматизации Ansible через веб-браузер. Ansible Semaphore полностью написан на Go. Его можно запускать на Linux, Windows и macOS.
Ansible Semaphore позволяет развертывание через Ansible с интуитивно понятной и отзывчивой панелью администрирования в вебе. Вы всегда можете откатить и восстановить конфигурацию, а также управлять окружениями, секретами, инвентарями и ключами доступа. Он также позволяет запускать playbooks по расписанию с подробными журналами и уведомлениями.
В этом руководстве мы проведем вас через установку Ansible Semaphore на сервере Debian 12. Вы установите Semaphore с PostgreSQL в качестве базы данных и Nginx в качестве обратного прокси.
Предварительные требования
Чтобы начать с этого руководства, убедитесь, что у вас есть следующее:
- Сервер Debian 12.
- Пользователь без прав root с правами администратора.
Установка зависимостей
Чтобы установить Ansible Semaphore, вам необходимо установить зависимости, такие как Ansible, PostgreSQL и Nginx на вашей системе. Вы будете использовать PostgreSQL в качестве базы данных и Nginx в качестве обратного прокси.
Сначала выполните команду ниже, чтобы обновить индекс пакетов Debian и установить зависимости, такие как ansible, база данных postgresql и веб-сервер nginx.
sudo apt update
sudo apt install git curl wget software-properties-common ansible postgresql nginx
Введите Y, чтобы подтвердить установку.

После завершения установки проверьте сервис postgresql с помощью команды ниже.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
Вы увидите, что сервис postgresql работает.

Теперь проверьте статус сервиса nginx с помощью следующей команды:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
В следующем вы можете увидеть, что веб-сервер nginx работает.

Наконец, проверьте версию ansible, используя команду ниже. Ansible 2.14 должен быть установлен на вашей системе Debian.
ansible –version

Настройка базы данных
Теперь, когда вы установили зависимости, вы настроите PostgreSQL и создадите новую базу данных и пользователя, которые будет использовать Ansible Semaphore.
Войдите на сервер PostgreSQL с помощью следующей команды:
sudo -u postgres psql
Теперь выполните запросы ниже, чтобы создать новую базу данных semaphoredb и пользователя semaphore. Настройте пароль с вашей информацией.
CREATE USER semaphore WITH PASSWORD ‘passw0rd’;
CREATE DATABASE semaphoredb OWNER semaphore;
Далее выполните следующие запросы, чтобы проверить список баз данных и пользователей в PostgreSQL. Вы увидите, что новый пользователь semaphore и база данных semaphoredb доступны.
\du
\l
Наконец, введите quit, чтобы выйти из PostgreSQL.

Установка Ansible Semaphore
Ansible Semaphore предоставляет пакеты для различных дистрибутивов Linux, включая Debian/Ubuntu. Вы можете скачать DEB файл Ansible Semaphore и установить его с помощью команды dpkg.
Скачайте пакет Ansible Semaphore debian с помощью следующей команды:
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
После загрузки установите Ansible Semaphore с помощью команды dpkg ниже:
sudo dpkg -i semaphore_${VER}_linux_amd64.deb
Ниже вы можете увидеть, что установка завершена.

Теперь выполните команду ниже, чтобы найти бинарный файл semaphore, который должен быть доступен по адресу /usr/bin/semaphore.
which semaphore
Проверьте версию Ansible Semaphore с помощью следующей команды. Вы увидите, что Ansible Semaphore 2.9 установлен.
semaphore version
semaphore help

Настройка Ansible Semaphore
В этом разделе вы настроите каталог установки Ansible Semaphore, интегрируете Semaphore с PostgreSQL, а затем настроите пользователя администратора и пароль для Semaphore. После этого вы также запустите Semaphore в фоновом режиме как сервис systemd.
Создайте новый каталог конфигурации /etc/semaphore и перейдите в него. Затем выполните команду semaphore setup, чтобы настроить Ansible Semaphore.
mkdir -p /etc/semaphore; cd /etc/semaphore semaphore setup
- Введите
3, чтобы использовать PostgreSQL в качестве базы данных. - Введите
/opt/playbook, чтобы настроить каталог playbook по умолчанию. - Нажмите ENTER и оставьте публичный URL по умолчанию.
- Нажмите ENTER, чтобы использовать настройки уведомлений по умолчанию.
- Введите ваше имя пользователя администратора, пароль и адрес электронной почты. Это будет использоваться для входа в веб-приложение Ansible Semaphore.

После завершения процесса вы увидите подтверждение ниже:

Теперь, когда вы настроили Ansible Semaphore, вы создадите новый сервис systemd и запустите Ansible Semaphore в фоновом режиме.
Создайте новый файл сервиса systemd /etc/systemd/system/semaphore.service с помощью редактора nano.
sudo nano /etc/systemd/system/semaphore.service
Вставьте конфигурацию ниже.
[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Сохраните файл и выйдите из редактора.
Затем выполните команду systemctl ниже, чтобы перезагрузить менеджер systemd и применить ваши изменения.
sudo systemctl daemon-reload
Наконец, выполните команду ниже, чтобы запустить и включить сервис semaphore. Затем проверьте сервис, чтобы убедиться, что он работает.
sudo systemctl enable –now semaphore
sudo systemctl status semaphore
Вы можете увидеть ниже, что сервис semaphore работает. И по умолчанию он работает на порту 3000.

Настройка Nginx как обратного прокси
Теперь, когда Semaphore работает, вы настроите Nginx как обратный прокси для вашей установки Semaphore. Убедитесь, что у вас есть готовое доменное имя (локальное или публичное доменное имя).
Создайте новую конфигурацию блока сервера /etc/nginx/sites-available/semaphore.conf с помощью редактора nano.
sudo nano /etc/nginx/sites-available/semaphore.conf
Вставьте следующую конфигурацию, чтобы настроить Nginx как обратный прокси для Ansible Semaphore, который работает на порту 3000. Убедитесь, что вы изменили опцию server_name на ваше доменное имя.
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 "";
}
}Сохраните файл и выйдите из редактора, когда закончите.
Теперь выполните команду ниже, чтобы активировать файл блока сервера semaphore.conf и проверить синтаксис вашего Nginx. Если у вас правильный синтаксис, вы увидите вывод test is successful - syntax is ok.
sudo ln -s /etc/nginx/sites-available/semaphore.conf /etc/nginx/sites-enabled/
sudo nginx -t
Наконец, выполните следующую команду systemctl ниже, чтобы перезапустить Nginx и применить ваши изменения.
sudo systemctl restart nginx

Защита Ansible Semaphore с помощью HTTPS
Чтобы защитить установку Ansible Semaphore, вы включите HTTPS поверх обратного прокси Nginx. Вы будете использовать Certbot для генерации и настройки HTTPS для Semaphore.
Установите пакеты certbot и python3-certbot-nginx с помощью следующей команды:
sudo apt install certbot python3-certbot-nginx -y
После завершения установки выполните команду certbot ниже, чтобы сгенерировать SSL/TLS сертификаты для вашей установки Ansible Semaphore. Убедитесь, что вы изменили домен и адрес электронной почты на вашу информацию.
sudo certbot –nginx –agree-tos –no-eff-email –redirect –email [email protected] -d auto.howtoforge.local
После завершения процесса ваши SSL сертификаты будут доступны в каталоге /etc/letsencrypt/live/domain.com, и ваша установка Semaphore будет защищена с помощью HTTPS.
Вход в Ansible Semaphore
Перейдите на ваше доменное имя Semaphore, которое является https://auto.howtoforge.local/. Если ваша установка успешна, вы увидите страницу входа Ansible Semaphore.
Введите ваше имя пользователя администратора и пароль, а затем нажмите SIGN IN, чтобы подтвердить.

Теперь введите название вашего первого проекта и нажмите Next, чтобы продолжить.

Вы увидите панель управления Semaphore, как показано ниже:

Заключение
Поздравляем! Вы завершили установку Ansible Semaphore на сервере Debian 12. Вы установили Semaphore с сервером PostgreSQL и веб-сервером Nginx. Вы также защитили Semaphore с помощью HTTPS через certbot и Letsencrypt.
Get new posts in your inbox
No spam. Unsubscribe anytime.