feat(semaphore): complete quadlet deployment for PostgreSQL + Semaphore

- Add quadlet tasks and handlers for modern rootless Podman deployment
- Fix broken Jinja in semaphore.container.j2
- Add proper 0777 permissions handling for rootless
- Support semaphore_use_postgres toggle with fallback to legacy BoltDB path
This commit is contained in:
Hermes Agent service account
2026-05-28 10:22:28 -05:00
parent 6d5fc7c5c6
commit dcc7e282c7
5 changed files with 148 additions and 51 deletions

View File

@@ -7,10 +7,15 @@ Wants=network-online.target
Image={{ semaphore_image }}
ContainerName={{ semaphore_container_name }}
PublishPort={{ semaphore_port }}:3000
Volume={{ semaphore_data_dir }}:/var/lib/semaphore:Z,U
Volume={{ semaphore_config_dir }}:/etc/semaphore:Z,U
Environment=SEMAPHORE_DB_DIALECT={{ semaphore_db_type }}
Environment=SEMAPHORE_DB_PATH={{ semaphore_db_path }}
Volume={{ semaphore_data_volume }}:/var/lib/semaphore:Z
Volume={{ semaphore_config_dir }}:/etc/semaphore:Z
Environment=SEMAPHORE_DB_DIALECT=postgres
Environment=SEMAPHORE_DB_PATH=
Environment=SEMAPHORE_DB_USER={{ semaphore_postgres_user }}
Environment=SEMAPHORE_DB_PASS={{ vault_semaphore_database_password }}
Environment=SEMAPHORE_DB_HOST={{ semaphore_postgres_container_name }}
Environment=SEMAPHORE_DB_PORT=5432
Environment=SEMAPHORE_DB_NAME={{ semaphore_postgres_db }}
Environment=SEMAPHORE_ADMIN=admin
Environment=SEMAPHORE_ADMIN_PASSWORD={{ vault_semaphore_admin_password }}
Environment=SEMAPHORE_ACCESS_KEY_ENCRYPTION={{ vault_semaphore_access_key_encryption }}