fix: use raw podman commands (no external collections required)

This commit is contained in:
Hermes Agent service account
2026-05-26 22:50:55 -05:00
parent ece522074e
commit 401f25b1c4

View File

@@ -24,28 +24,36 @@
- "{{ semaphore_data_dir }}"
- "{{ semaphore_config_dir }}"
- name: Create and start Semaphore container
community.general.podman_container:
name: "{{ semaphore_container_name }}"
image: "{{ semaphore_image }}"
state: started
recreate: true
ports:
- "{{ semaphore_port }}:3000"
volumes:
- "{{ semaphore_data_dir }}:/var/lib/semaphore:Z"
- "{{ semaphore_config_dir }}:/etc/semaphore:Z"
env:
SEMAPHORE_DB_TYPE: "{{ semaphore_db_type }}"
SEMAPHORE_DB_PATH: "{{ semaphore_db_path }}"
SEMAPHORE_ADMIN: admin
SEMAPHORE_ADMIN_PASSWORD: "{{ vault_semaphore_admin_password }}"
SEMAPHORE_ACCESS_KEY_ENCRYPTION: "{{ vault_semaphore_access_key_encryption }}"
user: "{{ semaphore_user }}"
- name: Generate systemd service for Semaphore
- name: Pull Semaphore image
ansible.builtin.command:
cmd: podman generate systemd --name --new --files {{ semaphore_container_name }}
cmd: "podman pull {{ semaphore_image }}"
become: true
become_user: "{{ semaphore_user }}"
changed_when: false
- name: Create and start Semaphore container
ansible.builtin.command:
cmd: >
podman run -d --name {{ semaphore_container_name }}
-p {{ semaphore_port }}:3000
-v {{ semaphore_data_dir }}:/var/lib/semaphore:Z
-v {{ semaphore_config_dir }}:/etc/semaphore:Z
-e SEMAPHORE_DB_TYPE={{ semaphore_db_type }}
-e SEMAPHORE_DB_PATH={{ semaphore_db_path }}
-e SEMAPHORE_ADMIN=admin
-e SEMAPHORE_ADMIN_PASSWORD={{ vault_semaphore_admin_password }}
-e SEMAPHORE_ACCESS_KEY_ENCRYPTION={{ vault_semaphore_access_key_encryption }}
--user {{ semaphore_user }}
{{ semaphore_image }}
become: true
become_user: "{{ semaphore_user }}"
register: container_run
changed_when: container_run.rc == 0
failed_when: container_run.rc != 0 and 'already in use' not in container_run.stderr
- name: Generate systemd service for the container
ansible.builtin.command:
cmd: "podman generate systemd --name --new --files {{ semaphore_container_name }}"
chdir: /etc/systemd/system
creates: "/etc/systemd/system/container-{{ semaphore_container_name }}.service"
become: true