From e5469d2cb82bbafff76e56f145d8b39017f611f2 Mon Sep 17 00:00:00 2001 From: Hermes Agent service account Date: Wed, 27 May 2026 21:07:30 -0500 Subject: [PATCH] fix(semaphore): use semaphore_user for directory ownership + add config.json for BoltDB - Replace hardcoded UID 1000 with {{ semaphore_user }} / {{ semaphore_group }} - Add config.json creation task for non-interactive BoltDB startup - Prevents interactive setup wizard and permission errors on v2.18.x --- ansible/roles/semaphore/tasks/main.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/ansible/roles/semaphore/tasks/main.yml b/ansible/roles/semaphore/tasks/main.yml index 5b73fb9..07a2e7e 100644 --- a/ansible/roles/semaphore/tasks/main.yml +++ b/ansible/roles/semaphore/tasks/main.yml @@ -17,8 +17,8 @@ ansible.builtin.file: path: "{{ item }}" state: directory - owner: "1000" - group: "1000" + owner: "{{ semaphore_user }}" + group: "{{ semaphore_group }}" mode: "0755" become: true changed_when: true @@ -26,6 +26,26 @@ - "{{ semaphore_data_dir }}" - "{{ semaphore_config_dir }}" +- name: Create Semaphore config.json for BoltDB + ansible.builtin.copy: + dest: "{{ semaphore_config_dir }}/config.json" + owner: "{{ semaphore_user }}" + group: "{{ semaphore_group }}" + mode: "0644" + content: | + { + "db": { + "Dialect": "bolt", + "BoltDB": { + "Path": "{{ semaphore_db_path }}" + } + }, + "server": { + "Addr": ":{{ semaphore_port }}" + } + } + become: true + - name: Create and start Semaphore container containers.podman.podman_container: name: "{{ semaphore_container_name }}"