volumes: semaphore_data: semaphore_config: semaphore_tmp: services: semaphore: image: semaphoreui/semaphore:latest container_name: semaphore ports: - "3020:3020" # Web UI accessed via port 3020 environment: - PUID=1000 - PGID=1000 - SEMAPHORE_DB_DIALECT=sqlite - SEMAPHORE_ADMIN_PASSWORD=Dy7zxAyDqdYN443g4pI3 # Change this on first boot! - SEMAPHORE_ADMIN_NAME=Mike McFetridge - SEMAPHORE_ADMIN_EMAIL=mmcfetridg@aol.com - SEMAPHORE_ADMIN=mmcfetridge # Point Semaphore to our secure local Docker Proxy instead of raw socket - DOCKER_HOST=tcp://docker_proxy:2375 - SEMAPHORE_PORT=3020 - ANSIBLE_HOST_KEY_CHECKING=False - SEMAPHORE_ACCESS_KEY_ENCRYPTION=mrmKv7EztqRCnlGo34IvlvoilXqvDKYnFIWX2lg+hZc= # Email Configuration - SEMAPHORE_EMAIL_ALERT=True - SEMAPHORE_EMAIL_HOST=mail.mmcfetridge.net - SEMAPHORE_EMAIL_PORT=465 - SEMAPHORE_EMAIL_SENDER=miker@mmcfetridge.net - SEMAPHORE_EMAIL_USERNAME=miker@mmcfetridge.net - SEMAPHORE_EMAIL_PASSWORD="!Sucyetat123" - SEMAPHORE_EMAIL_SECURE=true - SEMAPHORE_EMAIL_TLS=true volumes: - semaphore_data:/var/lib/semaphore - semaphore_config:/etc/semaphore - semaphore_tmp:/tmp/semaphore networks: - external restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3020"] interval: 10s retries: 3 timeout: 10s start_period: 30s networks: external: external: true # Tells Compose not to create this network