* [Docker](#docker)
* [Ubuntu 24.04 Script](#ubuntu-2404)
* [Ubuntu 22.04 Script](#ubuntu-2204)
-* [Ubuntu 20.04 Script](#ubuntu-2004)
+* [Other Operating Systems](#other-operating-systems)
* [Community Guides](#community)
* [Other Hosting Options](#other)
* [High Availability](#ha)
## Shared Hosting
-BookStack does not currently support shared PHP hosting. There are too many differences between shared hosting providers and too many limitations to support the current install process although we would like to make this easier in the future. You can try searching for 'Laravel Install Guides' for your hosting provider as the process would be similar. Beware that modifying the application source files or applying large work-arounds could lead to security or stability issues.
+BookStack does not currently support shared PHP hosting. There are too many differences between shared hosting providers and too many limitations to support the current install process although we would like to make this easier in the future. You can try searching for 'Laravel Install Guides' for your hosting provider as the process would be similar. Beware that modifying the application source files or applying large workarounds could lead to security or stability issues.
---
```
2. `cd` into the application folder and run `composer install --no-dev`.
3. Copy the `.env.example` file to `.env` and fill with your own database and mail details.
-4. Ensure the `storage`, `bootstrap/cache` & `public/uploads` folders are writable by the web server ([More information here](/docs/admin/filesystem-permissions/)).
+4. Ensure the `storage`, `bootstrap/cache` & `public/uploads` folders are writeable by the web server ([More information here](/docs/admin/filesystem-permissions/)).
5. In the application root, Run `php artisan key:generate` to generate a unique application key.
6. If not using Apache or if `.htaccess` files are disabled you will have to create some URL rewrite rules as shown below.
7. Set the web root on your server to point to the BookStack `public` folder. This is done with the `root` setting on Nginx or the `DocumentRoot` setting on Apache.
---
-<a name="ubuntu-2004"></a>
+## Other Operating Systems
-## Ubuntu 20.04 Installation Script
+We only officially provide scripts and guidance for the above in-support Ubuntu LTS operating systems.
+We do however sometimes provide some _**non-supported**_ guides & scripts for other environments in a few places:
-A script to install BookStack on a fresh instance of Ubuntu 20.04 is available. This script is ONLY FOR A FRESH OS, it will install Apache, MySQL 8.0 & PHP 8.2 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if you're installing on a non-fresh machine.
+- [Full list of our install scripts](https://codeberg.org/bookstack/devops/src/branch/main/scripts)
+- [Install videos in our video guides](https://foss.video/w/p/kVeKndjEtae5Kr9dMSCZmq)
-- [Link to installation script](https://codeberg.org/bookstack/devops/src/branch/main/scripts/installation-ubuntu-20.04.sh)
-- [Video guide](https://foss.video/w/59udkzBf8ftVPWutkBcuyM)
-
-#### Running the Script
-
-```bash
-# Ensure you have read the above information about what this script does before executing these commands.
-
-# Download the script
-wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-20.04.sh
-
-# Make it executable
-chmod a+x installation-ubuntu-20.04.sh
-
-# Run the script with admin permissions
-sudo ./installation-ubuntu-20.04.sh
-```
+Alternatively you may find applicable guides & scripts in the [community guides](#community) section below, or you may prefer to use a [docker container based](#docker) setup.
---
This first command will update the repository that was created in the installation. The second will install the PHP dependencies using `composer`. The third will then update the database with any required changes.
+<details>
+<summary>Optional more efficient upgrade commands (In Beta)</summary>
+
+Instead of using Composer during the upgrade, which relies on downloading many different files from various sources including GitHub, we now provide a more efficient alternative which downloads all files in one go from a BookStack-based domain. More details of this can be found [in our blogpost here](/blog/php-dependency-improvements/).
+
+This is in Beta testing, and you must already be using BookStack v25.02.1 or greater.
+
+```bash
+git pull origin release
+./bookstack-system-cli download-vendor
+php artisan migrate
+```
+
+If you use this option, any feedback (whether positive or negative) is much appreciated via [this GitHub thread](https://github.com/BookStackApp/BookStack/issues/5538) as this will help assess changes to make this the default install/upgrade method.
+
+</details>
+
In addition, Clearing the system caches is also recommended:
```bash