No description
Find a file
2023-10-24 06:49:26 +00:00
defaults sync with common role changes, clean up old defaults 2023-10-24 06:49:26 +00:00
meta initial commit for semaphore 2023-10-06 19:28:58 +00:00
tasks sync with common role changes, clean up old defaults 2023-10-24 06:49:26 +00:00
.gitignore initial commit for semaphore 2023-10-06 19:28:58 +00:00
README.md update docs, update for new shared tasks, cleanup, etc 2023-10-08 20:39:01 +00:00

ansible-roles-semaphore

This role will deploy a full root-less podman based semaphore instance

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