--- volumes: semaphore-mysql: driver: local services: mysql: image: docker.io/library/mysql:8.3 hostname: mysql volumes: - semaphore-mysql:/var/lib/mysql environment: - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_DATABASE=semaphore - MYSQL_USER=semaphore - MYSQL_PASSWORD=secret-password # change! restart: unless-stopped semaphore: container_name: ansiblesemaphore image: docker.io/semaphoreui/semaphore:v2.10.22 user: "${UID}:${GID}" ports: - 3000:3000 environment: - SEMAPHORE_DB_USER=semaphore - SEMAPHORE_DB_PASS=secret-password # change! - SEMAPHORE_DB_HOST=mysql - SEMAPHORE_DB_PORT=3306 - SEMAPHORE_DB_DIALECT=mysql - SEMAPHORE_DB=semaphore - SEMAPHORE_PLAYBOOK_PATH=/tmp/semaphore/ - SEMAPHORE_ADMIN_PASSWORD=secret-admin-password # change! - SEMAPHORE_ADMIN_NAME=admin - SEMAPHORE_ADMIN_EMAIL=admin@localhost - SEMAPHORE_ADMIN=admin - SEMAPHORE_ACCESS_KEY_ENCRYPTION= # add to your access key encryption ! - ANSIBLE_HOST_KEY_CHECKING=false # (optional) change to true if you want to enable host key checking volumes: - ./inventory/:/inventory:ro - ./authorized-keys/:/authorized-keys:ro - ./config/:/etc/semaphore:rw restart: unless-stopped depends_on: - mysql