services: bookstack: image: lscr.io/linuxserver/bookstack:latest container_name: bookstack restart: unless-stopped networks: - homelab-network - traefik-network ports: - ${EXTERNAL_PORT}:${INTERNAL_PORT} volumes: - ./config:/config environment: - PUID=${PUID} - PGID=${PGID} - APP_URL=https://${PROXY_URL} - DB_HOST=bookstack-db - DB_PORT=3306 - DB_DATABASE=bookstack - DB_USERNAME=bookstack - DB_PASSWORD=${BOOKSTACK_DB_PASSWORD} - APP_KEY=base64:NsYD8+8MAvtBhK8xw9p8pxQDy4x8aOQi/78M3CsseAw= healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost/'] interval: 30s timeout: 10s retries: 3 start_period: 60s depends_on: - bookstack-db labels: - ${ICON_LABEL} - ${HOST_LABEL} - ${LOADBALANCER_LABEL} - ${WATCHTOWER_ENABLE_LABEL} - ${TRAEFIK_ENABLE_LABEL} - ${TRAEFIK_NETWORK_LABEL} - ${ENTRYPOINT_LABEL} - ${CERT_LABEL} - ${AUTHELIA_LABEL} bookstack-db: image: mariadb:10.11 container_name: bookstack-db restart: unless-stopped networks: - homelab-network volumes: - ./db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${BOOKSTACK_DB_ROOT_PASSWORD} - MYSQL_DATABASE=bookstack - MYSQL_USER=bookstack - MYSQL_PASSWORD=${BOOKSTACK_DB_PASSWORD} labels: - ${DB_ICON_LABEL} - 'homelab.category=productivity' - 'homelab.description=BookStack database' networks: homelab-network: external: true traefik-network: external: true x-dockge: urls: - https://${PROXY_URL} - ${LOCAL_URL} x-arcane: icon: ${ICON_URL} urls: - https://${PROXY_URL} - ${LOCAL_URL}