
Nos últimos dias, andei explorando o Semaphore, uma interface web open-source para orquestrar playbooks Ansible. A ideia era criar uma POC (Prova de Conceito) simples, mas funcional, para testar sua integração com Docker e Ansible de forma local. O resultado está publicado no meu repositório no GitHub.
O que é o Semaphore?
O Semaphore é uma ferramenta web para gerenciamento e execução de automações com Ansible. Com ele, podemos:
- Criar e agendar execuções de playbooks;
- Armazenar chaves SSH de forma segura;
- Organizar projetos e inventários;
- Usar variáveis, templates e versionamento com Git.
Tudo isso com uma interface intuitiva que facilita bastante o trabalho, principalmente para quem quer fugir um pouco do terminal.
Pré-requisitos para rodar o projeto
Antes de começar, é necessário ter:
- Docker e Docker Compose instalados;
- Git para clonar o projeto;
- Acesso ao repositório:
https://github.com/douglastos/Semaphore.
Com isso pronto, o processo é simples:
git clone https://github.com/douglastos/Semaphore.git
cd Semaphore
mkdir semaphore_data
docker compose up -dDepois disso, é só acessar o http://localhost:3000 e logar com o usuário padrão:
Usuário: admin
Senha: adminConfiguração passo a passo
Após o login, você passará pelas seguintes etapas no ambiente web:
- Adicionar a chave privada no menu
Key Store - Adicionar o repositório Git contendo seu playbook
- Gerar um par de chaves SSH dentro do container do Semaphore
- Criar variáveis e inventário
- Criar o template de execução
- Criar Template
- Rodar o playbook via interface
Todas essas etapas estão explicadas com imagens e exemplos no README do projeto.
Exemplo: Gerando chave SSH no container
docker container exec -it semaphore bash
ssh-keygen -t rsa -b 4096 -C "semaphore@seuprojeto" -f ~/.ssh/semaphore
ssh-copy-id -i ~/.ssh/semaphore.pub deploy@<ip-do-servidor>Depois disso, copie a chave privada e cole no campo Key Store da interface.
Conclusão
Essa foi uma pequena prova de conceito para mostrar como é simples e rápido integrar o Semaphore com Docker e Ansible. Ideal para testes locais ou até pequenos ambientes de automação.
Se quiser conferir o projeto completo e testar por conta própria, acesse:
🔗 https://github.com/douglastos/Semaphore
Fique à vontade para dar uma estrela ⭐ no repositório se o conteúdo te ajudou ou te inspirou a automatizar mais com Ansible!