#The healthcheck for db provided in the original tutorial did not quite work out for me #so there's this alternative. services: db: image: mariadb:11.4-noble container_name: BookStack-DB hostname: bookstack-db mem_limit: 1g cpu_shares: 768 healthcheck: #test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3306' || exit 1 test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 3 start_period: 90s security_opt: - no-new-privileges:false volumes: - /volume1/docker/bookstack/db:/var/lib/mysql:rw - /volume1/docker/bookstack/db:/etc/mysql/conf.d:rw environment: TZ: Europe/Zurich #your own time zone MYSQL_ROOT_PASSWORD: rootpass MYSQL_USER: bookstackuser MYSQL_PASSWORD: bookstackpass MYSQL_DATABASE: bookstack restart: on-failure:5 bookstack: image: solidnerd/bookstack:latest container_name: BookStack hostname: bookstack mem_limit: 1g cpu_shares: 768 security_opt: - no-new-privileges:true ports: - 6875:8080 volumes: - /volume1/docker/bookstack/uploads:/var/www/bookstack/public/uploads:rw - /volume1/docker/bookstack/storage-uploads:/var/www/bookstack/storage/uploads:rw environment: DB_HOST: bookstack-db:3306 DB_DATABASE: bookstack DB_USERNAME: bookstackuser DB_PASSWORD: bookstackpass APP_KEY: base64:MDFsaTQ5NzA1cjFqY2R6YjlndHUzYjk1ODRtMTMwazM= #generate your own key APP_URL: https://bookstack.mydomain.com MAIL_DRIVER: smtp MAIL_HOST: mail.mydomain.com MAIL_PORT: 465 MAIL_ENCRYPTION: tls MAIL_USERNAME: mailuser MAIL_PASSWORD: password123 MAIL_FROM: bookstack@mydomain.com MAIL_FROM_NAME: BookStack restart: on-failure:5 depends_on: db: condition: service_started