services: semaphore: image: semaphoreui/semaphore:v2.19.16 restart: unless-stopped environment: SEMAPHORE_DB_DIALECT: sqlite # The first start makes this admin, so no setup page is left open. SEMAPHORE_ADMIN: admin SEMAPHORE_ADMIN_NAME: Admin SEMAPHORE_ADMIN_EMAIL: admin@localhost SEMAPHORE_ADMIN_PASSWORD: ${ADMIN_PASSWORD} volumes: # config.json, with the keys the first start generates. - config:/etc/semaphore - data:/var/lib/semaphore volumes: config: data: