33 lines
1.2 KiB
YAML
33 lines
1.2 KiB
YAML
# docker-compose/docker-compose-semaphore.yml
|
|
|
|
services:
|
|
semaphore:
|
|
# Official upstream image, same version as the custom build.
|
|
# Changing image and version separately keeps failures diagnosable.
|
|
image: semaphoreui/semaphore:v2.18.3
|
|
container_name: semaphore
|
|
user: "0:0"
|
|
ports:
|
|
- "3008:3000"
|
|
environment:
|
|
# Database config lives in /etc/semaphore/config.json
|
|
SEMAPHORE_TMP_PATH: /var/lib/semaphore/projects
|
|
SEMAPHORE_ADMIN: admin
|
|
SEMAPHORE_ADMIN_NAME: admin
|
|
SEMAPHORE_ADMIN_EMAIL: admin@localhost
|
|
env_file:
|
|
# Absolute path — the deploy dir is wiped on every playbook run
|
|
- /data/compose/semaphore/semaphore.env
|
|
volumes:
|
|
- /data/compose/semaphore/db:/etc/semaphore
|
|
- /data/compose/semaphore/projects:/var/lib/semaphore/projects
|
|
- /data/compose/semaphore/backups:/opt/mikrotik_backups/
|
|
- /data/compose/semaphore/ansible.cfg:/etc/ansible/ansible.cfg:ro
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3000/api/ping >/dev/null || exit 1"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 20s
|
|
restart: unless-stopped
|