Files
docker/automation/docker-compose.yaml

63 lines
1.7 KiB
YAML

networks:
proxy:
external: true
semaphore:
name: semaphore
external: false
volumes:
semaphore:
name: semaphore
semaphore-db:
name: semaphore-db
services:
semaphore:
image: semaphoreui/semaphore
container_name: semaphore
environment:
SEMAPHORE_DB_USER: ${DB_USER}
SEMAPHORE_DB_PASS: ${DB_PASS}
SEMAPHORE_DB_HOST: semaphore-db
SEMAPHORE_DB_PORT: 3306
SEMAPHORE_DB: ${DB_NAME}
SEMAPHORE_PLAYBOOKPATH: /tmp/semaphore/
SEMAPHORE_ADMIN_PASSWORD: secret
SEMAPHORE_ADMIN_NAME: Christian Steinle
SEMAPHORE_ADMIN_EMAIL: christiansteinle@arcor.de
SEMAPHORE_ADMIN: chris
SEMAPHORE_ACCESS_KEY_ENCRYPTION: wZEu1RmBxogY2brsK3SQHGJCY/DVbkmzXhdDB5FXpXU=
depends_on:
- semaphore-db
restart: unless-stopped
networks:
- proxy
- semaphore
volumes:
- semaphore:/home/semaphore:rw
labels:
- "traefik.enable=true"
- "traefik.http.routers.semaphore.entrypoints=web"
- "traefik.http.routers.semaphore.rule=Host(`semaphore.lan`)"
- "traefik.http.routers.semaphore.service=semaphore"
- "traefik.http.services.semaphore.loadbalancer.server.port=3000"
- "com.centurylinklabs.watchtower.monitor-only='true'"
semaphore-db:
image: mysql:8
container_name: semaphore-db
hostname: semaphore-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASS}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}
MYSQL_DATABASE: ${DB_NAME}
volumes:
- semaphore-db:/var/lib/mysql
networks:
- semaphore
healthcheck:
test: [ "CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)" ]