--- # This is an example complete example docker-compose.yml # file for a linuxserver.io based BookStack setup # using the linuxserver.io MariaDB conatiner. # ENSURE YOU PAY ATTENTION TO ALL COMMENTS BELOW. # Many of the values are just examples, and you WILL # have to make changes to suit your environment. # These containers are maintained by the linuxserver.io # team, not the official BookStack project. # For non-commented options, refer to the linuxserver documentation: # https://docs.linuxserver.io/images/docker-bookstack/#environment-variables-e services: # The container for BookStack itself bookstack: # You should update the version here to match the latest # release of BookStack: https://github.com/BookStackApp/BookStack/releases # You'll change this when wanting to update the version of BookStack used. image: lscr.io/linuxserver/bookstack:latest container_name: bookstack environment: - PUID=1002 - PGID=1002 - TZ=Europe/Berlin # APP_URL must be set as the base URL you'd expect to access BookStack # on via the browser. The default shown here is what you might use if accessing # direct from the browser on the docker host, hence the use of the port as configured below. - APP_URL=http://localhost:8080 # APP_KEY must be a unique key. Generate your own by running # docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey # You should keep the "base64:" part for the option value. - APP_KEY=base64:3qjlIoUX4Tw6fUQgZcxMbz6lb8+dAzqpvItqHvahW1c= # The below database details are purposefully aligned with those # configuted for the "mariadb" service below: - DB_HOST=${DATENBANKAPP} - DB_PORT=${DATENBANK_PORT} - DB_DATABASE=${DATENBANKNAME} - DB_USERNAME=${DATENBANKUSER} - DB_PASSWORD=${DB_PASSWORD} volumes: # You generally only ever need to map this one volume. # This maps it to a "bookstack_app_data" folder in the same # directory as this compose config file. - ./bookstack_app_data:/config ports: # This exposes port 6875 for general web access. # Commonly you'd have a reverse proxy in front of this, # redirecting incoming requests to this port. - 8080:80 restart: unless-stopped # The container for the database which BookStack will use to store # most of its core data/content. mariadb: # You should update the version here to match the latest # main version of the linuxserver mariadb container version: # https://github.com/linuxserver/docker-mariadb/pkgs/container/mariadb/versions?filters%5Bversion_type%5D=tagged image: lscr.io/linuxserver/mariadb:11.4.4 container_name: mariadb environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC # You may want to change the credentials used below, # but be aware the latter three options need to align # with the DB_* options for the BookStack container. - MYSQL_ROOT_PASSWORD=mysupersecretrootpassword - MYSQL_DATABASE=bookstack - MYSQL_USER=bookstack - MYSQL_PASSWORD=bookstack8432 volumes: # You generally only ever need to map this one volume. # This maps it to a "bookstack_db_data" folder in the same # directory as this compose config file. - ./bookstack_db_data:/config # These ports are commented out as you don't really need this port # exposed for normal use, mainly only if connecting direct the the # database externally. Otherwise, this risks exposing access to the # database when not needed. # ports: # - 3306:3306 restart: unless-stopped