networks: proxy: external: true bookstack: name: bookstack external: false volumes: bookstack: name: bookstack bookstack-db: name: bookstack-db services: bookstack: image: linuxserver/bookstack restart: unless-stopped container_name: bookstack hostname: bookstack depends_on: - bookstack-db volumes: - bookstack:/config environment: PUID: 1000 GUID: 1000 APP_URL: http://bookstack.lan DB_HOST: bookstack-db DB_USER: ${DB_USER} DB_PASS: ${DB_PASS} DB_DATABASE: ${DB_NAME} networks: - bookstack - proxy labels: - "traefik.enable=true" - "traefik.http.routers.bookstack.entrypoints=web" - "traefik.http.routers.bookstack.rule=Host(`bookstack.lan`)" - "traefik.http.services.bookstack.loadbalancer.server.port=80" bookstack-db: image: mysql:8 container_name: bookstack-db hostname: bookstack-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_PASS} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASS} MYSQL_DATABASE: ${DB_NAME} volumes: - bookstack-db:/var/lib/mysql networks: - bookstack healthcheck: test: [ "CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)" ]