volumes: semaphore_data: semaphore_config: semaphore_tmp: services: semaphore: image: semaphoreui/semaphore:latest container_name: semaphore restart: unless-stopped ports: - "${SEMAPHORE_PORT}:${SEMAPHORE_PORT}" environment: - PUID=${PUID} - PGID=${PGID} - SEMAPHORE_DB_DIALECT=${SEMAPHORE_DB_DIALECT} - SEMAPHORE_ADMIN_PASSWORD=${SEMAPHORE_ADMIN_PASSWORD} - SEMAPHORE_ADMIN_NAME=${SEMAPHORE_ADMIN_NAME} - SEMAPHORE_ADMIN_EMAIL=${SEMAPHORE_ADMIN_EMAIL} - SEMAPHORE_ADMIN=${SEMAPHORE_ADMIN} # Docker Proxy endpoint - DOCKER_HOST=${DOCKER_HOST} - SEMAPHORE_PORT=${SEMAPHORE_PORT} - ANSIBLE_HOST_KEY_CHECKING=${ANSIBLE_HOST_KEY_CHECKING} - SEMAPHORE_ACCESS_KEY_ENCRYPTION=${SEMAPHORE_ACCESS_KEY_ENCRYPTION} # Email Configuration - SEMAPHORE_EMAIL_ALERT=${SEMAPHORE_EMAIL_ALERT} - SEMAPHORE_EMAIL_HOST=${SEMAPHORE_EMAIL_HOST} - SEMAPHORE_EMAIL_PORT=${SEMAPHORE_EMAIL_PORT} - SEMAPHORE_EMAIL_SENDER=${SEMAPHORE_EMAIL_SENDER} - SEMAPHORE_EMAIL_USERNAME=${SEMAPHORE_EMAIL_USERNAME} - SEMAPHORE_EMAIL_PASSWORD=${SEMAPHORE_EMAIL_PASSWORD} - SEMAPHORE_EMAIL_SECURE=${SEMAPHORE_EMAIL_SECURE} - SEMAPHORE_EMAIL_TLS=${SEMAPHORE_EMAIL_TLS} volumes: - semaphore_data:/var/lib/semaphore - semaphore_config:/etc/semaphore - semaphore_tmp:/tmp/semaphore networks: - external healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3020"] interval: 10s retries: 3 timeout: 10s start_period: 30s networks: external: external: true