--- services: bookstack-db: image: lscr.io/linuxserver/mariadb:${BOOKSTACK_MARIADB_VERSION:-11.4.5-r0-ls178} container_name: bookstack-db restart: unless-stopped networks: bridge: environment: - PUID=1000 - PGID=1000 - MYSQL_ROOT_PASSWORD=${BOOKSTACK_MARIADB_ROOTPASSWORD:?error} - TZ=Europe/Berlin - MYSQL_USER=${BOOKSTACK_MARIADB_USER:?error} - MYSQL_PASSWORD=${BOOKSTACK_MARIADB_PASSWORD:?error} - MYSQL_DATABASE=${BOOKSTACK_MARIADB_DATABASE:?error} volumes: - database:/config bookstack: image: lscr.io/linuxserver/bookstack:${BOOKSTACK_VERSION:-25.02.1} container_name: bookstack restart: unless-stopped networks: traefik: bridge: volumes: - config:/config environment: - PUID=1000 - PGID=1000 - APP_URL=${BOOKSTACK_DOMAIN} - APP_KEY=${BOOKSTACK_APP_KEY} - DB_HOST=bookstack-db - DB_PORT=3306 - DB_USERNAME=${BOOKSTACK_MARIADB_USER:?error} - DB_PASSWORD=${BOOKSTACK_MARIADB_PASSWORD:?error} - DB_DATABASE=${BOOKSTACK_MARIADB_DATABASE:?error} labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.bookstack.entrypoints=http" - "traefik.http.routers.bookstack.rule=Host(`${BOOKSTACK_DOMAIN}`)" - "traefik.http.middlewares.bookstack-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.bookstack.middlewares=bookstack-https-redirect" - "traefik.http.routers.bookstack-secure.entrypoints=https" - "traefik.http.routers.bookstack-secure.rule=Host(`${BOOKSTACK_DOMAIN}`)" - "traefik.http.routers.bookstack-secure.tls=true" - "traefik.http.routers.bookstack-secure.service=bookstack" - "traefik.http.services.bookstack.loadbalancer.server.port=80" depends_on: - bookstack-db volumes: config: database: networks: traefik: external: true bridge: driver: bridge