Skip to main content

Installation

Installation

  1. Create a new directory and the necessary files

    mkdir -p bookstack/config && cd bookstack
    touch docker-compose.yml .env
    
  2. Edit the .env file to include the following:

    DB_PASSWD=<password> #do not change later on or stuff may break
    APP_URL=example.com:6875
    PORT=6875
    PUID=1000
    PGID=1000
    
  3. Edit the docker-compose.yml to include the following:

    version: "3"
    services:
      bookstack_db:
        restart: unless-stopped
        image: lscr.io/linuxserver/mariadb
        container_name: bookstack_db
        environment:
          - PUID=${PUID}
          - PGID=${PGID}
          - MYSQL_ROOT_PASSWORD=${BOOKSTACK_PASSWD}
          - TZ=${TZ}
          - MYSQL_DATABASE=bookstackapp
          - MYSQL_USER=${BOOKSTACK_USER}
          - MYSQL_PASSWORD=${BOOKSTACK_PASSWD}
        volumes:
          - ./data/bookstack_db_data:/config
    
      bookstack:
        restart: unless-stopped
        image: lscr.io/linuxserver/bookstack
        container_name: bookstack
        environment:
          - PUID=${PUID}
          - PGID=${PGID}
          - APP_URL=https://${SITE}
          - DB_HOST=bookstack_db
          - DB_PORT=3306
          - DB_USER=${BOOKSTACK_USER}
          - DB_PASSWORD=${BOOKSTACK_PASSWD}
          - DB_DATABASE=bookstackapp
        volumes:
          - ./data/bookstack_app_data:/config
          - ./backup:/backup
        ports:
          - 6875:80
        labels:
          traefik.enable: "true"
          traefik.http.routers.bookstack.rule: "Host(`${SITE}`)"
          traefik.http.routers.bookstack.entrypoints: websecure
          traefik.http.routers.bookstack.middlewares: secured@file
    
  4. Start the container with docker compose up -d

  5. Go to the APP-URL that you specified, e.g. http://server:6785 and login. The default login is admin@admin.com and the password is password.

  6. Make sure to change email and password after your first login

See Also