services: << service_name >>: image: semaphoreui/semaphore:latest container_name: << service_name >> environment: - TZ=<< timezone >> - SEMAPHORE_DB_DIALECT=postgres - SEMAPHORE_DB_HOST=<< service_name >>-db - SEMAPHORE_DB_PORT=5432 - SEMAPHORE_DB_USER=semaphore - SEMAPHORE_DB_PASS=<< db_password >> - SEMAPHORE_DB=semaphore - SEMAPHORE_ADMIN=<< admin_user >> - SEMAPHORE_ADMIN_PASSWORD=<< admin_password >> - SEMAPHORE_ADMIN_NAME=Beheerder - SEMAPHORE_ADMIN_EMAIL=<< admin_email >> - SEMAPHORE_ACCESS_KEY_ENCRYPTION=<< access_key_encryption >> volumes: - << appdata_dir >>/<< service_name >>:/etc/semaphore ports: - "<< port >>:3000" depends_on: - << service_name >>-db restart: unless-stopped << service_name >>-db: image: postgres:16-alpine container_name: << service_name >>-db environment: - POSTGRES_DB=semaphore - POSTGRES_USER=semaphore - POSTGRES_PASSWORD=<< db_password >> volumes: - << appdata_dir >>/<< service_name >>-db:/var/lib/postgresql/data restart: unless-stopped