migration failing at refactor_joint_permissions_storage #5553

Closed
opened 2026-02-05 10:10:05 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @DwayneGit on GitHub (Dec 26, 2025).

Describe the Bug

Getting this error from a fresh run of the docker-compose file. no prior installations or configurations. This failure is causing problems later on.

Steps to Reproduce

Run the docker-compose.yml below

Expected Behaviour

successful installation

Screenshots or Additional Context

2025-12-26 12:33:43.834 | [migrations] started
2025-12-26 12:33:43.842 | [migrations] 01-nginx-site-confs-default: executing...
2025-12-26 12:33:43.852 | [migrations] 01-nginx-site-confs-default: succeeded
2025-12-26 12:33:43.860 | [migrations] 02-default-location: executing...
2025-12-26 12:33:43.865 | [migrations] 02-default-location: succeeded
2025-12-26 12:33:43.865 | [migrations] done
2025-12-26 12:33:43.897 | ───────────────────────────────────────
2025-12-26 12:33:43.897 | 
2025-12-26 12:33:43.897 |       ██╗     ███████╗██╗ ██████╗
2025-12-26 12:33:43.897 |       ██║     ██╔════╝██║██╔═══██╗
2025-12-26 12:33:43.897 |       ██║     ███████╗██║██║   ██║
2025-12-26 12:33:43.897 |       ██║     ╚════██║██║██║   ██║
2025-12-26 12:33:43.897 |       ███████╗███████║██║╚██████╔╝
2025-12-26 12:33:43.897 |       ╚══════╝╚══════╝╚═╝ ╚═════╝
2025-12-26 12:33:43.897 | 
2025-12-26 12:33:43.897 |    Brought to you by linuxserver.io
2025-12-26 12:33:43.897 | ───────────────────────────────────────
2025-12-26 12:33:43.897 | 
2025-12-26 12:33:43.897 | To support LSIO projects visit:
2025-12-26 12:33:43.897 | https://www.linuxserver.io/donate/
2025-12-26 12:33:43.897 | 
2025-12-26 12:33:43.897 | ───────────────────────────────────────
2025-12-26 12:33:43.897 | GID/UID
2025-12-26 12:33:43.897 | ───────────────────────────────────────
2025-12-26 12:33:43.900 | 
2025-12-26 12:33:43.900 | User UID:    1000
2025-12-26 12:33:43.900 | User GID:    1000
2025-12-26 12:33:43.900 | ───────────────────────────────────────
2025-12-26 12:33:43.902 | Linuxserver.io version: v25.02-ls196
2025-12-26 12:33:43.902 | Build-date: 2025-03-09T13:52:48+00:00
2025-12-26 12:33:43.902 | ───────────────────────────────────────
2025-12-26 12:33:43.902 |     
2025-12-26 12:33:44.211 | Setting resolver to  127.0.0.11
2025-12-26 12:33:44.224 | Setting worker_processes to 8
2025-12-26 12:33:44.358 | generating self-signed keys in /config/keys, you can replace these with your own keys if required
2025-12-26 12:33:44.384 | .........+...+..+.+.....+........................+......+....+...+..+....+.....+.+...+...+..+...+....+......+.........+......+.........+.....+..........+.....+.+.....+.......+.....+.+.........+..+...+.+.....+....+......+..+............+.............+..+...+...+.+++++++++++++++++++++++++++++++++++++++*.+.........+......+.....+......+.+.....+...+......+.+..+..........+......+..+++++++++++++++++++++++++++++++++++++++*...+.....+..........+..+............+...............+.......++++++
2025-12-26 12:33:44.485 | .....+.+..+..........+.....+.+..+++++++++++++++++++++++++++++++++++++++*.+.......+..+++++++++++++++++++++++++++++++++++++++*......+...+....+..+...+..........+.....+.......+...+...+............+..+.+...+............+..+..........+...+........+......+....+..+...+............+....+.....+..........+........+.+..+....+.....+.+....................+...+....+...........+..........+..+...+....+......+......+.....+....+..+..................+.......+...+......+...............+...+..+...+...+...+....+......+.....+.........+...............+.............+.........+...+..+...+.......+.....+.....................+...+....+...+...+...........+.+..+...+............+.+.........+...+...+......+.....+..........+.....+......+.......+............+...........+...+......++++++
2025-12-26 12:33:44.499 | -----
2025-12-26 12:33:45.284 | Waiting for DB to be available
2025-12-26 12:34:01.865 | 
2025-12-26 12:34:01.865 |    INFO  Preparing database.  
2025-12-26 12:34:01.865 | 
2025-12-26 12:34:01.888 |   Creating migration table ...................................... 21.87ms DONE
2025-12-26 12:34:01.888 | 
2025-12-26 12:34:01.928 |    INFO  Running migrations.  
2025-12-26 12:34:01.928 | 
2025-12-26 12:34:02.239 |   2014_10_12_000000_create_users_table ......................... 310.38ms DONE
2025-12-26 12:34:02.497 |   2014_10_12_100000_create_password_resets_table ............... 252.35ms DONE
2025-12-26 12:34:02.528 |   2015_07_12_114933_create_books_table .......................... 26.51ms DONE
2025-12-26 12:34:02.556 |   2015_07_12_190027_create_pages_table .......................... 25.18ms DONE
2025-12-26 12:34:02.582 |   2015_07_13_172121_create_images_table ......................... 23.81ms DONE
2025-12-26 12:34:02.616 |   2015_07_27_172342_create_chapters_table ....................... 27.68ms DONE
2025-12-26 12:34:02.776 |   2015_08_08_200447_add_users_to_entities ...................... 157.10ms DONE
2025-12-26 12:34:02.792 |   2015_08_09_093534_create_page_revisions_table ................. 14.33ms DONE
2025-12-26 12:34:02.807 |   2015_08_16_142133_create_activities_table ..................... 13.26ms DONE
2025-12-26 12:34:03.095 |   2015_08_29_105422_add_roles_and_permissions .................. 286.86ms DONE
2025-12-26 12:34:03.106 |   2015_08_30_125859_create_settings_table ........................ 9.10ms DONE
2025-12-26 12:34:03.108 |   2015_08_31_175240_add_search_indexes ........................... 0.03ms DONE
2025-12-26 12:34:03.146 |   2015_09_04_165821_create_social_accounts_table ................ 36.65ms DONE
2025-12-26 12:34:03.205 |   2015_09_05_164707_add_email_confirmation_table ................ 57.50ms DONE
2025-12-26 12:34:03.218 |   2015_11_21_145609_create_views_table .......................... 10.53ms DONE
2025-12-26 12:34:03.633 |   2015_11_26_221857_add_entity_indexes ......................... 413.31ms DONE
2025-12-26 12:34:03.636 |   2015_12_05_145049_fulltext_weighting ........................... 0.06ms DONE
2025-12-26 12:34:03.713 |   2015_12_07_195238_add_image_upload_types ...................... 75.12ms DONE
2025-12-26 12:34:03.730 |   2015_12_09_195748_add_user_avatars ............................ 14.75ms DONE
2025-12-26 12:34:03.768 |   2016_01_11_210908_add_external_auth_to_users .................. 35.96ms DONE
2025-12-26 12:34:03.851 |   2016_02_25_184030_add_slug_to_revisions ....................... 80.13ms DONE
2025-12-26 12:34:03.985 |   2016_02_27_120329_update_permissions_and_roles ............... 131.42ms DONE
2025-12-26 12:34:04.238 |   2016_02_28_084200_add_entity_access_controls ................. 251.24ms DONE
2025-12-26 12:34:04.283 |   2016_03_09_203143_add_page_revision_types ..................... 42.30ms DONE
2025-12-26 12:34:04.338 |   2016_03_13_082138_add_page_drafts ............................. 53.56ms DONE
2025-12-26 12:34:04.411 |   2016_03_25_123157_add_markdown_support ........................ 70.57ms DONE
2025-12-26 12:34:04.553 |   2016_04_09_100730_add_view_permissions_to_roles .............. 135.54ms DONE
2025-12-26 12:34:05.023 |   2016_04_20_192649_create_joint_permissions_table ............. 464.90ms DONE
2025-12-26 12:34:05.201 |   2016_05_06_185215_create_tags_table .......................... 174.00ms DONE
2025-12-26 12:34:05.235 |   2016_07_07_181521_add_summary_to_page_revisions ............... 31.12ms DONE
2025-12-26 12:34:05.341 |   2016_09_29_101449_remove_hidden_roles ........................ 102.11ms DONE
2025-12-26 12:34:05.436 |   2016_10_09_142037_create_attachments_table .................... 88.30ms DONE
2025-12-26 12:34:05.681 |   2017_01_21_163556_create_cache_table ......................... 241.07ms DONE
2025-12-26 12:34:05.736 |   2017_01_21_163602_create_sessions_table ....................... 52.34ms DONE
2025-12-26 12:34:05.930 |   2017_03_19_091553_create_search_index_table .................. 191.49ms DONE
2025-12-26 12:34:06.070 |   2017_04_20_185112_add_revision_counts ........................ 137.12ms DONE
2025-12-26 12:34:06.074 |   2017_07_02_152834_update_db_encoding_to_ut8mb4 ................. 0.06ms DONE
2025-12-26 12:34:06.184 |   2017_08_01_130541_create_comments_table ...................... 106.81ms DONE
2025-12-26 12:34:06.216 |   2017_08_29_102650_add_cover_image_display ..................... 27.15ms DONE
2025-12-26 12:34:06.548 |   2018_07_15_173514_add_role_external_auth_id .................. 328.69ms DONE
2025-12-26 12:34:07.033 |   2018_08_04_115700_create_bookshelves_table ................... 482.14ms DONE
2025-12-26 12:34:07.099 |   2019_07_07_112515_add_template_support ........................ 61.58ms DONE
2025-12-26 12:34:07.188 |   2019_08_17_140214_add_user_invites_table ...................... 86.50ms DONE
2025-12-26 12:34:07.307 |   2019_12_29_120917_add_api_auth ............................... 115.46ms DONE
2025-12-26 12:34:07.454 |   2020_08_04_111754_drop_joint_permissions_id .................. 143.99ms DONE
2025-12-26 12:34:07.481 |   2020_08_04_131052_remove_role_name_field ...................... 23.33ms DONE
2025-12-26 12:34:07.763 |   2020_09_19_094251_add_activity_indexes ....................... 278.55ms DONE
2025-12-26 12:34:07.878 |   2020_09_27_210059_add_entity_soft_deletes .................... 112.00ms DONE
2025-12-26 12:34:08.086 |   2020_09_27_210528_create_deletions_table ..................... 205.56ms DONE
2025-12-26 12:34:08.342 |   2020_11_07_232321_simplify_activities_table .................. 253.59ms DONE
2025-12-26 12:34:08.669 |   2020_12_30_173528_add_owned_by_field_to_entities ............. 324.34ms DONE
2025-12-26 12:34:08.824 |   2021_01_30_225441_add_settings_type_column ................... 151.80ms DONE
2025-12-26 12:34:08.886 |   2021_03_08_215138_add_user_slug ............................... 60.11ms DONE
2025-12-26 12:34:09.035 |   2021_05_15_173110_create_favourites_table .................... 120.80ms DONE
2025-12-26 12:34:09.249 |   2021_06_30_173111_create_mfa_values_table .................... 210.56ms DONE
2025-12-26 12:34:09.271 |   2021_07_03_085038_add_mfa_enforced_to_roles_table ............. 20.10ms DONE
2025-12-26 12:34:09.281 |   2021_08_28_161743_add_export_role_permission ................... 7.77ms DONE
2025-12-26 12:34:09.308 |   2021_09_26_044614_add_activities_ip_column .................... 24.71ms DONE
2025-12-26 12:34:09.338 |   2021_11_26_070438_add_index_for_user_ip ....................... 27.14ms DONE
2025-12-26 12:34:09.483 |   2021_12_07_111343_create_webhooks_table ...................... 141.79ms DONE
2025-12-26 12:34:09.525 |   2021_12_13_152024_create_jobs_table ........................... 39.48ms DONE
2025-12-26 12:34:09.584 |   2021_12_13_152120_create_failed_jobs_table .................... 57.39ms DONE
2025-12-26 12:34:09.675 |   2022_01_03_154041_add_webhooks_timeout_error_columns .......... 88.28ms DONE
2025-12-26 12:34:09.711 |   2022_04_17_101741_add_editor_change_field_and_permission ...... 33.25ms DONE
2025-12-26 12:34:09.761 |   2022_04_25_140741_update_polymorphic_types .................... 47.37ms DONE
2025-12-26 12:34:10.029 |   2022_07_16_170051_drop_joint_permission_type ................. 260.09ms DONE
2025-12-26 12:34:10.193 |   2022_08_17_092941_create_references_table .................... 161.31ms DONE
2025-12-26 12:34:10.197 |   2022_09_02_082910_fix_shelf_cover_image_types .................. 1.47ms DONE
2025-12-26 12:34:10.324 |   2022_10_07_091406_flatten_entity_permissions_table ........... 124.64ms DONE
2025-12-26 12:34:10.458 |   2022_10_08_104202_drop_entity_restricted_field ............... 131.56ms DONE
2025-12-26 12:34:10.465 |   2023_01_24_104625_refactor_joint_permissions_storage ........... 5.10ms FAIL
2025-12-26 12:34:10.521 | 
2025-12-26 12:34:10.521 |    Illuminate\Database\QueryException 
2025-12-26 12:34:10.521 | 
2025-12-26 12:34:10.521 |   SQLSTATE[HY000]: General error: 1030 Got error 194 "Tablespace is missing for a table" from storage engine InnoDB (Connection: mysql, SQL: truncate table `joint_permissions`)
2025-12-26 12:34:10.521 | 
2025-12-26 12:34:10.521 |   at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825
2025-12-26 12:34:10.526 |     821▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
2025-12-26 12:34:10.526 |     822▕                 );
2025-12-26 12:34:10.526 |     823▕             }
2025-12-26 12:34:10.526 |     824▕ 
2025-12-26 12:34:10.526 |   ➜ 825▕             throw new QueryException(
2025-12-26 12:34:10.526 |     826▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
2025-12-26 12:34:10.526 |     827▕             );
2025-12-26 12:34:10.526 |     828▕         }
2025-12-26 12:34:10.526 |     829▕     }
2025-12-26 12:34:10.526 | 
2025-12-26 12:34:10.526 |       +6 vendor frames 
2025-12-26 12:34:10.526 | 
2025-12-26 12:34:10.526 |   7   /app/www/database/migrations/2023_01_24_104625_refactor_joint_permissions_storage.php:18
2025-12-26 12:34:10.526 |       Illuminate\Database\Query\Builder::truncate()
2025-12-26 12:34:10.526 |       +25 vendor frames 
2025-12-26 12:34:10.526 | 
2025-12-26 12:34:10.526 |   33  /app/www/artisan:35
2025-12-26 12:34:10.526 |       Illuminate\Foundation\Console\Kernel::handle()
2025-12-26 12:34:10.526 | 
2025-12-26 12:34:11.016 | [custom-init] No custom files found, skipping...
2025-12-26 12:34:11.070 | [ls.io-init] done.

docker-compose.yml

---

# 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:version-v25.02
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ}
      - APP_DEFAULT_DARK_MODE=true # Enable dark mode by default
      # 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=${BS_APP_URL}
      # 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=${BS_APP_KEY}

      # The below database details are purposefully aligned with those
      # configuted for the "mariadb" service below:
      - DB_HOST=${DB_HOST}
      - DB_PORT=${DB_PORT}
      - DB_DATABASE=${DB_DATABASE}
      - DB_USERNAME=${DB_USERNAME}
      - 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_config/app:/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.
      - 6875:80
    restart: unless-stopped
    depends_on:
      - bookstack_db # This service depends on the bookstack_db service
    networks:
      - bookstack-network # Connect to the bookstack-network

  # The container for the database which BookStack will use to store
  # most of its core data/content.
  bookstack_db:
    # 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.8
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ}
      # 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=${DB_ROOT_PASSWORD}
      - MYSQL_DATABASE=${DB_DATABASE}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
    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_config/db:/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
    networks:
      - bookstack-network # Connect to the bookstack-network

# Define the network configuration
networks:
  bookstack-network: # Custom network for inter-container communication
    driver: bridge # Use the bridge driver for the network

Browser Details

No response

Exact BookStack Version

v25.02

Originally created by @DwayneGit on GitHub (Dec 26, 2025). ### Describe the Bug Getting this error from a fresh run of the docker-compose file. no prior installations or configurations. This failure is causing problems later on. ### Steps to Reproduce Run the docker-compose.yml below ### Expected Behaviour successful installation ### Screenshots or Additional Context ``` 2025-12-26 12:33:43.834 | [migrations] started 2025-12-26 12:33:43.842 | [migrations] 01-nginx-site-confs-default: executing... 2025-12-26 12:33:43.852 | [migrations] 01-nginx-site-confs-default: succeeded 2025-12-26 12:33:43.860 | [migrations] 02-default-location: executing... 2025-12-26 12:33:43.865 | [migrations] 02-default-location: succeeded 2025-12-26 12:33:43.865 | [migrations] done 2025-12-26 12:33:43.897 | ─────────────────────────────────────── 2025-12-26 12:33:43.897 | 2025-12-26 12:33:43.897 | ██╗ ███████╗██╗ ██████╗ 2025-12-26 12:33:43.897 | ██║ ██╔════╝██║██╔═══██╗ 2025-12-26 12:33:43.897 | ██║ ███████╗██║██║ ██║ 2025-12-26 12:33:43.897 | ██║ ╚════██║██║██║ ██║ 2025-12-26 12:33:43.897 | ███████╗███████║██║╚██████╔╝ 2025-12-26 12:33:43.897 | ╚══════╝╚══════╝╚═╝ ╚═════╝ 2025-12-26 12:33:43.897 | 2025-12-26 12:33:43.897 | Brought to you by linuxserver.io 2025-12-26 12:33:43.897 | ─────────────────────────────────────── 2025-12-26 12:33:43.897 | 2025-12-26 12:33:43.897 | To support LSIO projects visit: 2025-12-26 12:33:43.897 | https://www.linuxserver.io/donate/ 2025-12-26 12:33:43.897 | 2025-12-26 12:33:43.897 | ─────────────────────────────────────── 2025-12-26 12:33:43.897 | GID/UID 2025-12-26 12:33:43.897 | ─────────────────────────────────────── 2025-12-26 12:33:43.900 | 2025-12-26 12:33:43.900 | User UID: 1000 2025-12-26 12:33:43.900 | User GID: 1000 2025-12-26 12:33:43.900 | ─────────────────────────────────────── 2025-12-26 12:33:43.902 | Linuxserver.io version: v25.02-ls196 2025-12-26 12:33:43.902 | Build-date: 2025-03-09T13:52:48+00:00 2025-12-26 12:33:43.902 | ─────────────────────────────────────── 2025-12-26 12:33:43.902 | 2025-12-26 12:33:44.211 | Setting resolver to 127.0.0.11 2025-12-26 12:33:44.224 | Setting worker_processes to 8 2025-12-26 12:33:44.358 | generating self-signed keys in /config/keys, you can replace these with your own keys if required 2025-12-26 12:33:44.384 | .........+...+..+.+.....+........................+......+....+...+..+....+.....+.+...+...+..+...+....+......+.........+......+.........+.....+..........+.....+.+.....+.......+.....+.+.........+..+...+.+.....+....+......+..+............+.............+..+...+...+.+++++++++++++++++++++++++++++++++++++++*.+.........+......+.....+......+.+.....+...+......+.+..+..........+......+..+++++++++++++++++++++++++++++++++++++++*...+.....+..........+..+............+...............+.......++++++ 2025-12-26 12:33:44.485 | .....+.+..+..........+.....+.+..+++++++++++++++++++++++++++++++++++++++*.+.......+..+++++++++++++++++++++++++++++++++++++++*......+...+....+..+...+..........+.....+.......+...+...+............+..+.+...+............+..+..........+...+........+......+....+..+...+............+....+.....+..........+........+.+..+....+.....+.+....................+...+....+...........+..........+..+...+....+......+......+.....+....+..+..................+.......+...+......+...............+...+..+...+...+...+....+......+.....+.........+...............+.............+.........+...+..+...+.......+.....+.....................+...+....+...+...+...........+.+..+...+............+.+.........+...+...+......+.....+..........+.....+......+.......+............+...........+...+......++++++ 2025-12-26 12:33:44.499 | ----- 2025-12-26 12:33:45.284 | Waiting for DB to be available 2025-12-26 12:34:01.865 | 2025-12-26 12:34:01.865 | INFO Preparing database. 2025-12-26 12:34:01.865 | 2025-12-26 12:34:01.888 | Creating migration table ...................................... 21.87ms DONE 2025-12-26 12:34:01.888 | 2025-12-26 12:34:01.928 | INFO Running migrations. 2025-12-26 12:34:01.928 | 2025-12-26 12:34:02.239 | 2014_10_12_000000_create_users_table ......................... 310.38ms DONE 2025-12-26 12:34:02.497 | 2014_10_12_100000_create_password_resets_table ............... 252.35ms DONE 2025-12-26 12:34:02.528 | 2015_07_12_114933_create_books_table .......................... 26.51ms DONE 2025-12-26 12:34:02.556 | 2015_07_12_190027_create_pages_table .......................... 25.18ms DONE 2025-12-26 12:34:02.582 | 2015_07_13_172121_create_images_table ......................... 23.81ms DONE 2025-12-26 12:34:02.616 | 2015_07_27_172342_create_chapters_table ....................... 27.68ms DONE 2025-12-26 12:34:02.776 | 2015_08_08_200447_add_users_to_entities ...................... 157.10ms DONE 2025-12-26 12:34:02.792 | 2015_08_09_093534_create_page_revisions_table ................. 14.33ms DONE 2025-12-26 12:34:02.807 | 2015_08_16_142133_create_activities_table ..................... 13.26ms DONE 2025-12-26 12:34:03.095 | 2015_08_29_105422_add_roles_and_permissions .................. 286.86ms DONE 2025-12-26 12:34:03.106 | 2015_08_30_125859_create_settings_table ........................ 9.10ms DONE 2025-12-26 12:34:03.108 | 2015_08_31_175240_add_search_indexes ........................... 0.03ms DONE 2025-12-26 12:34:03.146 | 2015_09_04_165821_create_social_accounts_table ................ 36.65ms DONE 2025-12-26 12:34:03.205 | 2015_09_05_164707_add_email_confirmation_table ................ 57.50ms DONE 2025-12-26 12:34:03.218 | 2015_11_21_145609_create_views_table .......................... 10.53ms DONE 2025-12-26 12:34:03.633 | 2015_11_26_221857_add_entity_indexes ......................... 413.31ms DONE 2025-12-26 12:34:03.636 | 2015_12_05_145049_fulltext_weighting ........................... 0.06ms DONE 2025-12-26 12:34:03.713 | 2015_12_07_195238_add_image_upload_types ...................... 75.12ms DONE 2025-12-26 12:34:03.730 | 2015_12_09_195748_add_user_avatars ............................ 14.75ms DONE 2025-12-26 12:34:03.768 | 2016_01_11_210908_add_external_auth_to_users .................. 35.96ms DONE 2025-12-26 12:34:03.851 | 2016_02_25_184030_add_slug_to_revisions ....................... 80.13ms DONE 2025-12-26 12:34:03.985 | 2016_02_27_120329_update_permissions_and_roles ............... 131.42ms DONE 2025-12-26 12:34:04.238 | 2016_02_28_084200_add_entity_access_controls ................. 251.24ms DONE 2025-12-26 12:34:04.283 | 2016_03_09_203143_add_page_revision_types ..................... 42.30ms DONE 2025-12-26 12:34:04.338 | 2016_03_13_082138_add_page_drafts ............................. 53.56ms DONE 2025-12-26 12:34:04.411 | 2016_03_25_123157_add_markdown_support ........................ 70.57ms DONE 2025-12-26 12:34:04.553 | 2016_04_09_100730_add_view_permissions_to_roles .............. 135.54ms DONE 2025-12-26 12:34:05.023 | 2016_04_20_192649_create_joint_permissions_table ............. 464.90ms DONE 2025-12-26 12:34:05.201 | 2016_05_06_185215_create_tags_table .......................... 174.00ms DONE 2025-12-26 12:34:05.235 | 2016_07_07_181521_add_summary_to_page_revisions ............... 31.12ms DONE 2025-12-26 12:34:05.341 | 2016_09_29_101449_remove_hidden_roles ........................ 102.11ms DONE 2025-12-26 12:34:05.436 | 2016_10_09_142037_create_attachments_table .................... 88.30ms DONE 2025-12-26 12:34:05.681 | 2017_01_21_163556_create_cache_table ......................... 241.07ms DONE 2025-12-26 12:34:05.736 | 2017_01_21_163602_create_sessions_table ....................... 52.34ms DONE 2025-12-26 12:34:05.930 | 2017_03_19_091553_create_search_index_table .................. 191.49ms DONE 2025-12-26 12:34:06.070 | 2017_04_20_185112_add_revision_counts ........................ 137.12ms DONE 2025-12-26 12:34:06.074 | 2017_07_02_152834_update_db_encoding_to_ut8mb4 ................. 0.06ms DONE 2025-12-26 12:34:06.184 | 2017_08_01_130541_create_comments_table ...................... 106.81ms DONE 2025-12-26 12:34:06.216 | 2017_08_29_102650_add_cover_image_display ..................... 27.15ms DONE 2025-12-26 12:34:06.548 | 2018_07_15_173514_add_role_external_auth_id .................. 328.69ms DONE 2025-12-26 12:34:07.033 | 2018_08_04_115700_create_bookshelves_table ................... 482.14ms DONE 2025-12-26 12:34:07.099 | 2019_07_07_112515_add_template_support ........................ 61.58ms DONE 2025-12-26 12:34:07.188 | 2019_08_17_140214_add_user_invites_table ...................... 86.50ms DONE 2025-12-26 12:34:07.307 | 2019_12_29_120917_add_api_auth ............................... 115.46ms DONE 2025-12-26 12:34:07.454 | 2020_08_04_111754_drop_joint_permissions_id .................. 143.99ms DONE 2025-12-26 12:34:07.481 | 2020_08_04_131052_remove_role_name_field ...................... 23.33ms DONE 2025-12-26 12:34:07.763 | 2020_09_19_094251_add_activity_indexes ....................... 278.55ms DONE 2025-12-26 12:34:07.878 | 2020_09_27_210059_add_entity_soft_deletes .................... 112.00ms DONE 2025-12-26 12:34:08.086 | 2020_09_27_210528_create_deletions_table ..................... 205.56ms DONE 2025-12-26 12:34:08.342 | 2020_11_07_232321_simplify_activities_table .................. 253.59ms DONE 2025-12-26 12:34:08.669 | 2020_12_30_173528_add_owned_by_field_to_entities ............. 324.34ms DONE 2025-12-26 12:34:08.824 | 2021_01_30_225441_add_settings_type_column ................... 151.80ms DONE 2025-12-26 12:34:08.886 | 2021_03_08_215138_add_user_slug ............................... 60.11ms DONE 2025-12-26 12:34:09.035 | 2021_05_15_173110_create_favourites_table .................... 120.80ms DONE 2025-12-26 12:34:09.249 | 2021_06_30_173111_create_mfa_values_table .................... 210.56ms DONE 2025-12-26 12:34:09.271 | 2021_07_03_085038_add_mfa_enforced_to_roles_table ............. 20.10ms DONE 2025-12-26 12:34:09.281 | 2021_08_28_161743_add_export_role_permission ................... 7.77ms DONE 2025-12-26 12:34:09.308 | 2021_09_26_044614_add_activities_ip_column .................... 24.71ms DONE 2025-12-26 12:34:09.338 | 2021_11_26_070438_add_index_for_user_ip ....................... 27.14ms DONE 2025-12-26 12:34:09.483 | 2021_12_07_111343_create_webhooks_table ...................... 141.79ms DONE 2025-12-26 12:34:09.525 | 2021_12_13_152024_create_jobs_table ........................... 39.48ms DONE 2025-12-26 12:34:09.584 | 2021_12_13_152120_create_failed_jobs_table .................... 57.39ms DONE 2025-12-26 12:34:09.675 | 2022_01_03_154041_add_webhooks_timeout_error_columns .......... 88.28ms DONE 2025-12-26 12:34:09.711 | 2022_04_17_101741_add_editor_change_field_and_permission ...... 33.25ms DONE 2025-12-26 12:34:09.761 | 2022_04_25_140741_update_polymorphic_types .................... 47.37ms DONE 2025-12-26 12:34:10.029 | 2022_07_16_170051_drop_joint_permission_type ................. 260.09ms DONE 2025-12-26 12:34:10.193 | 2022_08_17_092941_create_references_table .................... 161.31ms DONE 2025-12-26 12:34:10.197 | 2022_09_02_082910_fix_shelf_cover_image_types .................. 1.47ms DONE 2025-12-26 12:34:10.324 | 2022_10_07_091406_flatten_entity_permissions_table ........... 124.64ms DONE 2025-12-26 12:34:10.458 | 2022_10_08_104202_drop_entity_restricted_field ............... 131.56ms DONE 2025-12-26 12:34:10.465 | 2023_01_24_104625_refactor_joint_permissions_storage ........... 5.10ms FAIL 2025-12-26 12:34:10.521 | 2025-12-26 12:34:10.521 | Illuminate\Database\QueryException 2025-12-26 12:34:10.521 | 2025-12-26 12:34:10.521 | SQLSTATE[HY000]: General error: 1030 Got error 194 "Tablespace is missing for a table" from storage engine InnoDB (Connection: mysql, SQL: truncate table `joint_permissions`) 2025-12-26 12:34:10.521 | 2025-12-26 12:34:10.521 | at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:825 2025-12-26 12:34:10.526 | 821▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 2025-12-26 12:34:10.526 | 822▕ ); 2025-12-26 12:34:10.526 | 823▕ } 2025-12-26 12:34:10.526 | 824▕ 2025-12-26 12:34:10.526 | ➜ 825▕ throw new QueryException( 2025-12-26 12:34:10.526 | 826▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 2025-12-26 12:34:10.526 | 827▕ ); 2025-12-26 12:34:10.526 | 828▕ } 2025-12-26 12:34:10.526 | 829▕ } 2025-12-26 12:34:10.526 | 2025-12-26 12:34:10.526 | +6 vendor frames 2025-12-26 12:34:10.526 | 2025-12-26 12:34:10.526 | 7 /app/www/database/migrations/2023_01_24_104625_refactor_joint_permissions_storage.php:18 2025-12-26 12:34:10.526 | Illuminate\Database\Query\Builder::truncate() 2025-12-26 12:34:10.526 | +25 vendor frames 2025-12-26 12:34:10.526 | 2025-12-26 12:34:10.526 | 33 /app/www/artisan:35 2025-12-26 12:34:10.526 | Illuminate\Foundation\Console\Kernel::handle() 2025-12-26 12:34:10.526 | 2025-12-26 12:34:11.016 | [custom-init] No custom files found, skipping... 2025-12-26 12:34:11.070 | [ls.io-init] done. ``` docker-compose.yml ``` --- # 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:version-v25.02 container_name: bookstack environment: - PUID=1000 - PGID=1000 - TZ=${TZ} - APP_DEFAULT_DARK_MODE=true # Enable dark mode by default # 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=${BS_APP_URL} # 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=${BS_APP_KEY} # The below database details are purposefully aligned with those # configuted for the "mariadb" service below: - DB_HOST=${DB_HOST} - DB_PORT=${DB_PORT} - DB_DATABASE=${DB_DATABASE} - DB_USERNAME=${DB_USERNAME} - 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_config/app:/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. - 6875:80 restart: unless-stopped depends_on: - bookstack_db # This service depends on the bookstack_db service networks: - bookstack-network # Connect to the bookstack-network # The container for the database which BookStack will use to store # most of its core data/content. bookstack_db: # 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.8 container_name: bookstack_db environment: - PUID=1000 - PGID=1000 - TZ=${TZ} # 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=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_DATABASE} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} 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_config/db:/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 networks: - bookstack-network # Connect to the bookstack-network # Define the network configuration networks: bookstack-network: # Custom network for inter-container communication driver: bridge # Use the bridge driver for the network ``` ### Browser Details _No response_ ### Exact BookStack Version v25.02
OVERLORD added the 🐛 Bug label 2026-02-05 10:10:05 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Dec 29, 2025):

Hi @DwayneGit,
That's an odd issue to encounter. What host operating system are you running this compose stack on? What device/hardware/service is this being ran on?

@ssddanbrown commented on GitHub (Dec 29, 2025): Hi @DwayneGit, That's an odd issue to encounter. What host operating system are you running this compose stack on? What device/hardware/service is this being ran on?
Author
Owner

@DwayneGit commented on GitHub (Dec 29, 2025):

@ssddanbrown
ThinkPad X9 15 Aura
Windows 11 Pro
Started from Powershell via Vscode terminal,

Processor	Intel(R) Core(TM) Ultra 7 268V (2.20 GHz)
Installed RAM	32.0 GB (31.5 GB usable)
System type	64-bit operating system, x64-based processor
@DwayneGit commented on GitHub (Dec 29, 2025): @ssddanbrown ThinkPad X9 15 Aura Windows 11 Pro Started from Powershell via Vscode terminal, ``` Processor Intel(R) Core(TM) Ultra 7 268V (2.20 GHz) Installed RAM 32.0 GB (31.5 GB usable) System type 64-bit operating system, x64-based processor ```
Author
Owner

@KenanAlci commented on GitHub (Dec 30, 2025):

I was encountering the same issue on Windows + Docker Desktop.

This error is not a BookStack bug. It’s caused by running MariaDB on a Windows bind mount, which is case-insensitive and breaks InnoDB table files.

This happens when MariaDB data is stored via a bind mount like: - ./bookstack_db_data:/config.

Solution:
Use a named Docker volume for MariaDB, not a host bind mount.

---

# 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:version-v25.02
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ}
      - APP_DEFAULT_DARK_MODE=true # Enable dark mode by default
      # 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=${BS_APP_URL}
      # 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=${BS_APP_KEY}

      # The below database details are purposefully aligned with those
      # configuted for the "mariadb" service below:
      - DB_HOST=${DB_HOST}
      - DB_PORT=${DB_PORT}
      - DB_DATABASE=${DB_DATABASE}
      - DB_USERNAME=${DB_USERNAME}
      - 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_config/app:/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.
      - 6875:80
    restart: unless-stopped
    depends_on:
      - bookstack_db # This service depends on the bookstack_db service
    networks:
      - bookstack-network # Connect to the bookstack-network

  # The container for the database which BookStack will use to store
  # most of its core data/content.
  bookstack_db:
    # 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.8
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ}
      # 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=${DB_ROOT_PASSWORD}
      - MYSQL_DATABASE=${DB_DATABASE}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
    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                                # FIX HERE

    # 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
    networks:
      - bookstack-network # Connect to the bookstack-network

# Define the network configuration
networks:
  bookstack-network: # Custom network for inter-container communication
    driver: bridge # Use the bridge driver for the network

volumes:                                                                  # FIX HERE
  bookstack_db_data:                                               # FIX HERE
@KenanAlci commented on GitHub (Dec 30, 2025): I was encountering the same issue on Windows + Docker Desktop. This error is not a BookStack bug. It’s caused by running MariaDB on a Windows bind mount, which is case-insensitive and breaks InnoDB table files. This happens when MariaDB data is stored via a bind mount like: `- ./bookstack_db_data:/config`. Solution: Use a named Docker volume for MariaDB, not a host bind mount. ``` --- # 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:version-v25.02 container_name: bookstack environment: - PUID=1000 - PGID=1000 - TZ=${TZ} - APP_DEFAULT_DARK_MODE=true # Enable dark mode by default # 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=${BS_APP_URL} # 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=${BS_APP_KEY} # The below database details are purposefully aligned with those # configuted for the "mariadb" service below: - DB_HOST=${DB_HOST} - DB_PORT=${DB_PORT} - DB_DATABASE=${DB_DATABASE} - DB_USERNAME=${DB_USERNAME} - 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_config/app:/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. - 6875:80 restart: unless-stopped depends_on: - bookstack_db # This service depends on the bookstack_db service networks: - bookstack-network # Connect to the bookstack-network # The container for the database which BookStack will use to store # most of its core data/content. bookstack_db: # 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.8 container_name: bookstack_db environment: - PUID=1000 - PGID=1000 - TZ=${TZ} # 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=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_DATABASE} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} 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 # FIX HERE # 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 networks: - bookstack-network # Connect to the bookstack-network # Define the network configuration networks: bookstack-network: # Custom network for inter-container communication driver: bridge # Use the bridge driver for the network volumes: # FIX HERE bookstack_db_data: # FIX HERE ```
Author
Owner

@DwayneGit commented on GitHub (Dec 30, 2025):

Thanks @KenanAlci! That did the trick.

@DwayneGit commented on GitHub (Dec 30, 2025): Thanks @KenanAlci! That did the trick.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#5553