No description
| defaults | ||
| meta | ||
| tasks | ||
| .gitignore | ||
| README.md | ||
ansible-roles-semaphore
This role will deploy a full root-less podman based semaphore instance
- https://github.com/ansible-semaphore/semaphore
- https://docs.ansible-semaphore.com/administration-guide/installation#docker
- https://hub.docker.com/r/semaphoreui/semaphore
Task Configuration
Define semaphore_url, this will useful in conjunction with a proxy role such as traefik or nginx
Define semaphorepath if the container user has a custom homedir such as something under /srv..
- name: Setup proxy and service
hosts: somehost
become: true
roles:
- role: semaphore
semaphore_url: semaphore.somewhere.else
semaphore_admin_email: someone@somewhere.else
semaphore_database_listen: 127.0.0.1:5436
- role: traefik
traefik_routes:
- name: semaphore
host: "{{ semaphore_url }}"
srv: "{{ traefik_host_address }}:3600"
- role: firewalld
firewalld_add:
- name: public
services:
- http
- https
forwards:
- port: 80
to: 8080
- port: 443
to: 8443
Deployment and Removal
Sometimes you need to manually stop the running containers to get a clean run when re-deploying Services must be stopped as the respecitve user or another means to aquire the correct user scope for systemd
systemctl --user stop container-traefik.service
systemctl --user stop container-semaphore.service
Deploy
ansible-playbook -i hosts site.yml --tags=firewalld,traefik,semaphore --limit=somehost
Remove
ansible-playbook -i hosts site.yml --tags=firewalld,traefik,semaphore --extra-vars "container_state=absent firewall_action=remove" --limit=somehost