Semaphore UI packaged from the upstream community (MIT) release binaries, following the gitea packaging pattern: native systemd service and Podman quadlet variants (mutually exclusive), with an optional PostgreSQL backend via quadlet drop-ins. SQLite is the default database; session/encryption secrets are generated into /etc/semaphore/env on first install.
26 lines
662 B
INI
26 lines
662 B
INI
[Unit]
|
|
Description=Semaphore UI - modern UI for Ansible, Terraform and OpenTofu
|
|
|
|
[Container]
|
|
Image=docker.io/semaphoreui/semaphore:v2.19.8
|
|
ContainerName=semaphore
|
|
Pod=semaphore.pod
|
|
Volume=/var/lib/semaphore:/var/lib/semaphore:z
|
|
Volume=/etc/semaphore:/etc/semaphore:z
|
|
Volume=/etc/localtime:/etc/localtime:ro
|
|
EnvironmentFile=/etc/semaphore/env
|
|
Environment=SEMAPHORE_CONFIG_PATH=/etc/semaphore
|
|
Notify=healthy
|
|
HealthCmd=curl --fail --silent --output /dev/null http://localhost:3000/api/ping
|
|
HealthInterval=30s
|
|
HealthTimeout=10s
|
|
HealthRetries=5
|
|
HealthStartPeriod=120s
|
|
HealthOnFailure=kill
|
|
LogDriver=journald
|
|
|
|
[Service]
|
|
Restart=always
|
|
RestartSec=5
|
|
TimeoutStartSec=900
|