Instalação Ansible · 6 min read · Oct 19, 2025
Como Instalar o Ansible Semaphore no Debian 12

Ansible Semaphore é uma interface web de código aberto para playbooks do Ansible. Ele permite a implantação usando automação do Ansible via um navegador web. O Ansible Semaphore é escrito puramente em Go. Ele pode ser executado em Linux, Windows e macOS.
O Ansible Semaphore permite a implantação via Ansible a partir de um painel de administração web intuitivo e responsivo. Você pode sempre reverter e restaurar a configuração e gerenciar ambientes, segredos, inventários e chaves de acesso. Ele também permite que você execute playbooks por agendamento com logs detalhados e notificações.
Neste guia, vamos orientá-lo na instalação do Ansible Semaphore no servidor Debian 12. Você instalará o Semaphore com PostgreSQL como banco de dados e Nginx como proxy reverso.
Pré-requisitos
Para começar com este guia, certifique-se de ter o seguinte:
- Um servidor Debian 12.
- Um usuário não-root com privilégios de administrador.
Instalando dependências
Para instalar o Ansible Semaphore, você deve instalar dependências como Ansible, PostgreSQL e Nginx em seu sistema. Você usará o PostgreSQL como banco de dados e o Nginx como proxy reverso.
Primeiro, execute o comando abaixo para atualizar o índice de pacotes do Debian e instalar dependências, como o ansible, o banco de dados postgresql e o servidor web nginx.
sudo apt update
sudo apt install git curl wget software-properties-common ansible postgresql nginxDigite Y para confirmar a instalação.

Após a instalação ser concluída, verifique o serviço postgresql com o comando abaixo.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlVocê verá que o serviço postgresql está em execução.

Agora verifique o status do serviço nginx com o seguinte:
sudo systemctl is-enabled nginx
sudo systemctl status nginxA seguir, você pode ver que o servidor web nginx está em execução.

Por fim, verifique a versão do ansible usando o comando abaixo. O Ansible 2.14 deve estar instalado em seu sistema Debian.
ansible --version
Configurando o banco de dados
Agora que você instalou as dependências, você configurará o PostgreSQL e criará um novo banco de dados e usuário que o Ansible Semaphore usará.
Faça login no servidor PostgreSQL com o seguinte comando:
sudo -u postgres psqlAgora execute as consultas abaixo para criar um novo banco de dados semaphoredb e usuário semaphore. Ajuste a senha com suas informações.
CREATE USER semaphore WITH PASSWORD 'passw0rd';
CREATE DATABASE semaphoredb OWNER semaphore;Em seguida, execute as seguintes consultas para verificar a lista de bancos de dados e usuários no PostgreSQL. Você verá que um novo usuário semaphore e o banco de dados semaphoredb estão disponíveis.
du
lPor fim, digite quit para sair do PostgreSQL.

Instalando o Ansible Semaphore
O Ansible Semaphore fornece pacotes para diferentes distribuições Linux, incluindo Debian/Ubuntu. Você pode baixar o arquivo DEB do Ansible Semaphore e instalá-lo com o comando dpkg.
Baixe o pacote debian do Ansible Semaphore com o seguinte comando:
VER=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest|grep tag_name | cut -d '"' -f 4|sed 's/v//g')
wget -q https://github.com/semaphoreui/semaphore/releases/download/v${VER}/semaphore_${VER}_linux_amd64.debUma vez baixado, instale o Ansible Semaphore com o comando dpkg abaixo:
sudo dpkg -i semaphore_${VER}_linux_amd64.debAbaixo você pode ver que a instalação está completa.

Agora execute o comando abaixo para localizar o binário semaphore, que deve estar disponível em /usr/bin/semaphore.
which semaphoreVerifique a versão do Ansible Semaphore com o seguinte comando. Você verá que o Ansible Semaphore 2.9 está instalado.
semaphore version
semaphore help
Configurando o Ansible Semaphore
Nesta seção, você configurará o diretório de instalação do Ansible Semaphore, integrará o Semaphore com o PostgreSQL e, em seguida, configurará o usuário e a senha de administrador para o Semaphore. Depois disso, você também executará o Semaphore em segundo plano como um serviço systemd.
Crie um novo diretório de configuração /etc/semaphore e entre nele. Em seguida, execute o comando semaphore setup para configurar o Ansible Semaphore.
mkdir -p /etc/semaphore; cd /etc/semaphore
semaphore setup- Digite
3para usar o PostgreSQL como banco de dados. - Digite
/opt/playbookpara configurar o diretório de playbook padrão. - Pressione ENTER e deixe a URL pública como padrão.
- Pressione ENTER para usar as configurações de notificação padrão.
- Digite seu nome de usuário, senha e endereço de e-mail de administrador. Isso será usado para fazer login na aplicação web Ansible Semaphore.

Após o processo ser concluído, você verá a confirmação abaixo:

Agora que você configurou o Ansible Semaphore, você criará um novo serviço systemd e executará o Ansible Semaphore em segundo plano.
Crie um novo arquivo de serviço systemd /etc/systemd/system/semaphore.service com o editor nano.
sudo nano /etc/systemd/system/semaphore.serviceInsira a configuração abaixo.
[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.targetSalve o arquivo e saia do editor.
Em seguida, execute o comando systemctl abaixo para recarregar o gerenciador systemd e aplicar suas alterações.
sudo systemctl daemon-reloadPor fim, execute o comando abaixo para iniciar e habilitar o serviço semaphore. E então, verifique o serviço para garantir que está em execução.
sudo systemctl enable --now semaphore
sudo systemctl status semaphoreVocê pode ver abaixo que o serviço semaphore está em execução. E por padrão, ele está rodando na porta 3000.

Configurando o Nginx como proxy reverso
Agora que o Semaphore está em execução, você configurará o Nginx como um reverso para sua instalação do Semaphore. Certifique-se de ter o nome de domínio pronto (nome de domínio local ou público).
Crie uma nova configuração de bloco de servidor /etc/nginx/sites-available/semaphore.conf com o editor nano.
sudo nano /etc/nginx/sites-available/semaphore.confInsira a seguinte configuração para configurar o Nginx como um proxy reverso para o Ansible Semaphore que está rodando na porta 3000. Certifique-se de alterar a opção server_name com seu nome de domínio.
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 "";
}
}Salve o arquivo e saia do editor quando terminar.
Agora execute o comando abaixo para ativar o arquivo de bloco de servidor semaphore.conf e verificar sua sintaxe do Nginx. Se você tiver a sintaxe correta, verá uma saída test is successful - syntax is ok.
sudo ln -s /etc/nginx/sites-available/semaphore.conf /etc/nginx/sites-enabled/
sudo nginx -tPor fim, execute o seguinte comando systemctl abaixo para reiniciar o Nginx e aplicar suas alterações.
sudo systemctl restart nginx
Protegendo o Ansible Semaphore com HTTPS
Para proteger a instalação do Ansible Semaphore, você habilitará o HTTPS em cima do proxy reverso Nginx. Você usará o Certbot para gerar e configurar HTTPS para o Semaphore.
Instale os pacotes certbot e python3-certbot-nginx com o seguinte comando:
sudo apt install certbot python3-certbot-nginx -yApós a instalação ser concluída, execute o comando certbot abaixo para gerar certificados SSL/TLS para sua instalação do Ansible Semaphore. Certifique-se de alterar o domínio e o endereço de e-mail com suas informações.
sudo certbot --nginx --agree-tos --no-eff-email --redirect --email [email protected] -d auto.howtoforge.localUma vez que o processo esteja completo, seus certificados SSL estarão disponíveis no diretório /etc/letsencrypt/live/domain.com e sua instalação do Semaphore estará protegida com HTTPS.
Fazendo login no Ansible Semaphore
Visite seu nome de domínio do Semaphore, que é https://auto.howtoforge.local/. Se sua instalação for bem-sucedida, você verá a página de login do Ansible Semaphore.
Digite seu usuário e senha de administrador e clique em SIGN IN para confirmar.

Agora digite o nome do seu primeiro projeto e clique em Next para continuar.

Você verá o painel do Semaphore como o seguinte:

Conclusão
Parabéns! Você completou a instalação do Ansible Semaphore no servidor Debian 12. Você instalou o Semaphore com o servidor PostgreSQL e o servidor web Nginx. Você também protegeu o Semaphore com HTTPS através do certbot e Letsencrypt.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.