bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward
eco Beginner Tutorial/How-to

Installing BookStack on a VPS: A

calendar_month May 31, 2026 schedule 17 min read visibility 36 views
Установка BookStack на VPS: личная вики и база знаний для команды
info

Need a server for this guide? We offer dedicated servers and VPS in 50+ countries with instant setup.

Need a server for this guide?

Deploy a VPS or dedicated server in minutes.

Installing BookStack on a VPS: A Personal Wiki and Team Knowledge Base

TL;DR

In this detailed guide, we will step-by-step configure BookStack — a powerful and intuitive open-source knowledge management system — on your own Virtual Private Server (VPS) running Ubuntu 24.04 LTS. You will get a fully functional platform for creating and storing documentation, accessible to your team or for personal use, with automatic HTTPS, a backup mechanism, and basic security.

  • Configuring BookStack version 24.04+ on Ubuntu 24.04 LTS.
  • Using a PHP 8.3/8.4, MySQL 8.0 stack, and Caddy web server for automatic TLS.
  • Ensuring basic server security with UFW and Fail2ban.
  • Setting up automatic data and database backups.
  • Detailed commands and configuration files are ready for copying and execution.

What We Are Configuring and Why

Diagram: What We Are Configuring and Why
Diagram: What We Are Configuring and Why

We will be installing BookStack — a free and open platform for creating and organizing documentation, ideal for personal notes, team wikis, knowledge bases, product manuals, and much more. It is designed with an emphasis on ease of use and a clean, modern interface. BookStack allows you to structure information into "books", "chapters", and "pages", supports Markdown and WYSIWYG editors, and features a powerful search and access control system.

Ultimately, you will get a completely independent, private, and self-controlled knowledge base, accessible via your domain name. This is especially valuable for startups, development teams, solo SaaS project founders, or anyone who values privacy and full control over their data.

There are various alternatives, such as cloud solutions (Confluence, Notion, GitLab Wiki, Google Docs) or other self-hosted platforms (Wiki.js, MediaWiki). Cloud services are convenient but often come with a monthly fee, storage limitations, and most importantly, you don't fully own your data, entrusting it to a third-party provider. Self-hosted solutions on a VPS, on the other hand, give you full sovereignty over your information, allow you to precisely configure the server to your needs, and, with the right approach, can be significantly more economical in the long run, especially if you already rent a VPS for other tasks. You can also be confident in the absence of hidden "features" and surveillance, which is critical for projects requiring a high degree of confidentiality.

What VPS Configuration is Needed for This Task

Diagram: What VPS Configuration is Needed for This Task
Diagram: What VPS Configuration is Needed for This Task

BookStack itself is not very resource-intensive, but for the stable operation of the entire stack (operating system, database, PHP-FPM, web server), certain minimum characteristics are required. These requirements are relevant for 2026, considering modern software versions.

Minimum Requirements for a Small Project (up to 5-10 active users, up to 1000 pages):

  • CPU: 1-2 vCPU. For basic operation, one core is sufficient, but 2 cores will provide better responsiveness with several users working simultaneously or during background tasks.
  • RAM: 2 GB. This will be enough for Ubuntu Server 24.04 LTS, PHP 8.3/8.4, MySQL 8.0, and Caddy. If you plan to run other services on the same VPS, consider 4 GB.
  • Disk: 40 GB SSD. The system will take about 10-15 GB. The rest will go to the BookStack database, image files, attachments, and logs. SSD is critically important for database performance and overall system responsiveness.
  • Network: 100 Mbps port, 500 GB - 1 TB traffic per month. For a typical wiki, this is more than enough.

Recommended VPS Plan for a Team (up to 20-30 active users, thousands of pages, regular file uploads):

  • CPU: 2 vCPU.
  • RAM: 4 GB.
  • Disk: 80 GB SSD.
  • Network: 1 Gbps port, 2-3 TB traffic per month.

For these characteristics, you can consider a VPS with the specified characteristics.

When a Dedicated Server is Needed, Not a VPS

A dedicated server becomes justified if:

  • Very High Load: Hundreds of simultaneously active users, thousands of requests per second.
  • Large Data Volume: Tens of thousands of pages, terabytes of attachments and files.
  • Performance Requirements: Maximum and predictable performance is needed without "sharing" with other provider clients.
  • Specific Hardware: The need for special RAID arrays, GPUs, or other hardware solutions not available on a VPS.
  • Running Many Other Services: If, in addition to BookStack, other resource-intensive applications (CI/CD, heavy databases, game servers) will run on the server.

In most cases, a well-configured VPS is sufficient for BookStack. If you choose a dedicated server, make sure its characteristics meet your needs, for example, a suitable dedicated server.

Location: What it Affects

The choice of VPS location affects several key factors:

  • Latency: The closer the server is to your main audience or team, the faster the website's response will be. For a team in Europe, choose European data centers.
  • Legislation: Data storage laws can vary significantly between countries. Ensure that the chosen location complies with your privacy requirements and legal norms.
  • Service Availability: Some cloud storage or CDNs may have better integration or performance in certain regions.
  • Cost: VPS prices can vary depending on the location.

Server Preparation

Diagram: Server Preparation
Diagram: Server Preparation

Before installing BookStack, you need to perform basic setup of a fresh server. We will be using Ubuntu Server 24.04 LTS.

1. Connecting to the Server

Connect to your VPS via SSH. If your provider grants root access, it is recommended to immediately create a new user with sudo privileges.


ssh root@YOUR_VPS_IP_ADDRESS

2. Creating a New User and Configuring Sudo (if necessary)

If you logged in as root, create a new user, for example, bookstackuser:


adduser bookstackuser
usermod -aG sudo bookstackuser

Then log out and log in as the new user:


exit
ssh bookstackuser@YOUR_VPS_IP_ADDRESS

3. Updating the System

Always start by updating the package list and installed packages to the latest versions. This ensures you have the latest security fixes and up-to-date versions of system libraries.


sudo apt update && sudo apt upgrade -y

4. Configuring the Firewall (UFW)

Enable the UFW firewall and allow only the necessary ports. This is critically important for security.


sudo apt install ufw -y # Install UFW if not already installed
sudo ufw allow OpenSSH # Allow SSH (port 22)
sudo ufw allow http # Allow HTTP (port 80)
sudo ufw allow https # Allow HTTPS (port 443)
sudo ufw enable # Enable UFW
sudo ufw status # Check firewall status

When prompted to confirm enabling UFW, enter y.

5. Installing Fail2ban

Fail2ban helps protect the server from brute-force attacks by blocking IP addresses that make too many failed login attempts.


sudo apt install fail2ban -y
sudo systemctl enable fail2ban # Enable Fail2ban autostart
sudo systemctl start fail2ban # Start Fail2ban

For basic configuration, you can create the file /etc/fail2ban/jail.local:


sudo nano /etc/fail2ban/jail.local

Insert the following content:


[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

Save the file (Ctrl+O, Enter) and exit (Ctrl+X). Then restart Fail2ban:


sudo systemctl restart fail2ban

6. Installing Basic Utilities

Let's install the necessary utilities that will be needed during the BookStack installation process.


sudo apt install git curl wget unzip -y

Software Installation — Step-by-step

Diagram: Software Installation — Step-by-step
Diagram: Software Installation — Step-by-step

Now that the server is prepared, let's proceed with installing all necessary components for BookStack: PHP, Composer, MySQL, and Caddy.

1. Installing PHP and Required Extensions

BookStack version 24.04+ requires PHP 8.1 or higher. We will install PHP 8.3/8.4, which will be current in 2026 and provide good performance. To do this, we first add the ondrej/php repository, which contains fresh PHP versions.


sudo apt install software-properties-common -y # Install utility for working with PPA
sudo add-apt-repository ppa:ondrej/php -y # Add PHP repository
sudo apt update # Update package list after adding repository
sudo apt install php8.3-fpm php8.3-mysql php8.3-gd php8.3-mbstring php8.3-xml php8.3-bcmath php8.3-zip php8.3-curl php8.3-common php8.3-cli -y # Install PHP 8.3 FPM and required extensions
sudo systemctl enable php8.3-fpm # Enable PHP-FPM autostart
sudo systemctl start php8.3-fpm # Start PHP-FPM

Note: If PHP 8.4 becomes current by 2026, simply replace php8.3 with php8.4 in all commands.

2. Installing Composer

Composer is a dependency manager for PHP, necessary for installing BookStack components.


php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" # Download Composer installation script
php composer-setup.php --install-dir=/usr/local/bin --filename=composer # Install Composer globally
php -r "unlink('composer-setup.php');" # Delete installation script
composer --version # Check Composer version

3. Installing MySQL Server

BookStack uses a database to store all information. We will install MySQL 8.0.


sudo apt install mysql-server -y # Install MySQL Server 8.0
sudo systemctl enable mysql # Enable MySQL autostart
sudo systemctl start mysql # Start MySQL
sudo mysql_secure_installation # Run script for secure MySQL setup

During mysql_secure_installation, follow the instructions:

  • Install the VALIDATE PASSWORD COMPONENT plugin (recommended).
  • Set a strong password for the MySQL root user.
  • Answer Y to all other questions (remove anonymous users, disallow remote root login, remove test database, reload privilege tables).

Let's create a database and user for BookStack. Replace bookstack_db, bookstack_user, and ВАШ_НАДЕЖНЫЙ_ПАРОЛЬ_ДЛЯ_БД with your own values.


sudo mysql -u root -p # Log in to MySQL as root (the previously entered password will be required)

Inside the MySQL console, execute:


CREATE DATABASE bookstack_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bookstack_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_STRONG_DATABASE_PASSWORD';
GRANT ALL PRIVILEGES ON bookstack_db. TO 'bookstack_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

4. Installing BookStack

Let's clone the BookStack repository into the /var/www/bookstack directory.


sudo mkdir -p /var/www/bookstack # Create directory for BookStack
sudo chown bookstackuser:bookstackuser /var/www/bookstack # Change directory owner
cd /var/www/bookstack # Change to directory
git clone https://github.com/BookStackApp/BookStack.git . # Clone repository into current directory

Let's install BookStack dependencies using Composer.


composer install --no-dev # Install dependencies without dev packages

Let's configure access permissions for BookStack directories.


sudo chown -R www-data:www-data /var/www/bookstack # Change file owner to web server user
sudo chmod -R 755 /var/www/bookstack # Set read/write permissions for files
sudo chmod -R 775 /var/www/bookstack/storage /var/www/bookstack/bootstrap/cache # Set write permissions for critical directories

5. Installing Caddy Web Server

Caddy is a powerful web server that automatically manages HTTPS certificates (Let's Encrypt), which greatly simplifies setup. It's an excellent alternative to Nginx and Apache.


sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https # Install necessary packages
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg # Add GPG key
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list # Add Caddy repository
sudo apt update # Update package list
sudo apt install caddy -y # Install Caddy
sudo systemctl enable caddy # Enable Caddy autostart
sudo systemctl start caddy # Start Caddy

Caddy is now installed and ready. In the next step, we will configure it.

Configuration

Diagram: Configuration
Diagram: Configuration

After installing all components, you need to configure BookStack and the Caddy web server to work together.

1. Configuring BookStack's .env file

BookStack uses the .env file to store configuration, including database connection details and application keys. Navigate to the BookStack directory and copy the example file:


cd /var/www/bookstack
cp .env.example .env

Now open the .env file for editing:


sudo nano .env

Find and edit the following lines, replacing the values with your own:

  • APP_URL: Specify the full URL of your BookStack (e.g., https://your-bookstack-domain.com).
  • DB_DATABASE: The name of your MySQL database (e.g., bookstack_db).
  • DB_USERNAME: The MySQL username for BookStack (e.g., bookstack_user).
  • DB_PASSWORD: The MySQL user password for BookStack.

Example of edited lines:


APP_URL=https://your-bookstack-domain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bookstack_db
DB_USERNAME=bookstack_user
DB_PASSWORD=YOUR_STRONG_DATABASE_PASSWORD

Save the file (Ctrl+O, Enter) and exit (Ctrl+X).

2. Generating Application Key

BookStack requires a unique application key for encryption and security. Execute the following command in the BookStack directory:


php artisan key:generate

This command will automatically generate a key and add it to your .env file.

3. Running Database Migrations

Now you need to create tables in the BookStack database.


php artisan migrate --force # Run database migrations

When prompted for confirmation, type yes.

4. Configuring Caddyfile

Caddy automatically manages HTTPS, making it ideal for BookStack. Edit the default Caddy configuration file:


sudo nano /etc/caddy/Caddyfile

Remove all file content and insert the following configuration. Replace your-bookstack-domain.com with your actual domain:


your-bookstack-domain.com {
    # Specify BookStack's root directory
    root  /var/www/bookstack/public

    # Enable static file server
    file_server

    # Proxy PHP requests to PHP-FPM
    php_fastcgi unix//run/php/php8.3-fpm.sock

    # Configure access logging
    log {
        output file /var/log/caddy/access.log
        format json
    }

    # Error handling
    handle_errors {
        rewrite  /index.php
    }

    # Fast HTTP to HTTPS redirect
    # Caddy does this automatically, but this line might help in some cases
    # Or you can use {
    #   redir https://{host}{uri}
    # }
}

Note: Ensure that php8.3-fpm.sock matches the PHP version you installed. If you installed PHP 8.4, replace it with php8.4-fpm.sock.

Create a directory for Caddy logs:


sudo mkdir -p /var/log/caddy
sudo chown caddy:caddy /var/log/caddy # Set owner for log directory

Save the file (Ctrl+O, Enter) and exit (Ctrl+X).

5. Check and Restart Caddy

Check Caddy configuration for errors:


sudo caddy validate --config /etc/caddy/Caddyfile

If there are no errors, restart Caddy to apply the new configuration:


sudo systemctl reload caddy

Ensure Caddy is running correctly:


sudo systemctl status caddy

The status should be active (running).

6. Verify Functionality

BookStack should now be accessible via your domain name with HTTPS. Open a web browser and navigate to https://your-bookstack-domain.com.

You should see the BookStack login page. Initial login credentials are:

Be sure to change these details immediately after your first login!

You can also check accessibility from the server:


curl -I https://your-bookstack-domain.com

The response should contain HTTP/2 200 OK headers.

Backups and Maintenance

Diagram: Backups and Maintenance
Diagram: Backups and Maintenance

Regular backups are the cornerstone of any production system. BookStack stores data in a database and files (images, attachments) on disk. Maintenance includes software updates and monitoring.

1. What to Back Up

  • BookStack Database: Contains all pages, books, chapters, users, and settings. This is the most important part.
  • BookStack Files: Include uploaded images, attachments, and also the .env file (with sensitive data such as the application key and DB credentials).

2. Simple Auto-Backup Script

Let's create a simple script for backups. It is recommended not to store backups on the same server.


sudo nano /usr/local/bin/bookstack_backup.sh

Insert the following content, replacing ВАШ_НАДЕЖНЫЙ_ПАРОЛЬ_ДЛЯ_БД and bookstack_db with your values:


#!/bin/bash

# Configuration
DB_NAME="bookstack_db"
DB_USER="bookstack_user" # It's better to create a separate MySQL user just for backups with SELECT, LOCK TABLES privileges
DB_PASS="ВАШ_НАДЕЖНЫЙ_ПАРОЛЬ_ДЛЯ_БД"
BOOKSTACK_PATH="/var/www/bookstack"
BACKUP_DIR="/var/backups/bookstack"
DATE=$(date +%Y%m%d%H%M%S)
FILENAME_DB="${DB_NAME}_${DATE}.sql"
FILENAME_FILES="bookstack_files_${DATE}.tar.gz"

# Create backup directory if it doesn't exist
mkdir -p "${BACKUP_DIR}"

echo "Starting BookStack backup..."

# 1. Database Backup
echo "Backing up database..."
mysqldump --user="${DB_USER}" --password="${DB_PASS}" "${DB_NAME}" > "${BACKUP_DIR}/${FILENAME_DB}"
if [ $? -eq 0 ]; then
    echo "Database backup successfully created: ${FILENAME_DB}"
else
    echo "Error creating database backup."
    exit 1
fi

# 2. BookStack Files Backup (excluding cache and logs)
echo "Backing up BookStack files..."
tar -czf "${BACKUP_DIR}/${FILENAME_FILES}" -C "${BOOKSTACK_PATH}" \
    --exclude='storage/uploads/images/*' \
    --exclude='storage/uploads/files/*' \
    --exclude='storage/logs/*' \
    --exclude='bootstrap/cache/*' \
    --exclude='vendor/*' \
    .
# Additionally, save only .env and uploads separately for easy restoration
cp "${BOOKSTACK_PATH}/.env" "${BACKUP_DIR}/bookstack_env_${DATE}.env"
tar -czf "${BACKUP_DIR}/bookstack_uploads_images_${DATE}.tar.gz" -C "${BOOKSTACK_PATH}/storage/uploads" images
tar -czf "${BACKUP_DIR}/bookstack_uploads_files_${DATE}.tar.gz" -C "${BOOKSTACK_PATH}/storage/uploads" files

if [ $? -eq 0 ]; then
    echo "BookStack files backup successfully created: ${FILENAME_FILES}"
else
    echo "Error creating BookStack files backup."
    exit 1
fi

# 3. Deleting old backups (e.g., older than 7 days)
echo "Deleting old backups..."
find "${BACKUP_DIR}" -type f -name "*.sql" -mtime +7 -delete
find "${BACKUP_DIR}" -type f -name "*.tar.gz" -mtime +7 -delete
find "${BACKUP_DIR}" -type f -name "*.env" -mtime +7 -delete

echo "Backup completed."

Save the file and make it executable:


sudo chmod +x /usr/local/bin/bookstack_backup.sh

3. Automating Backups with Cron

Let's add the script to the Cron scheduler for daily execution.


sudo crontab -e

Choose a text editor (if prompted) and add the following line to the end of the file to perform a backup every day at 3:00 AM:


0 3 * * * /usr/local/bin/bookstack_backup.sh >> /var/log/bookstack_backup.log 2>&1

Save and exit. Now backups will be created automatically.

4. Where to Store Backups

Never store all backups only on the same server as the main service! If the server fails, you will lose everything.

  • External S3-compatible storage: Amazon S3, DigitalOcean Spaces, Backblaze B2. This is a reliable and relatively inexpensive option. You can use utilities like s3cmd or rclone for automatic synchronization.
  • Separate VPS: Rent a small, cheap VPS exclusively for storing backups and synchronize them there via SFTP/RSYNC.
  • Local Network Drive (NAS): If you have your own infrastructure.

For example, to send backups to S3, you can add the command s3cmd put "${BACKUP_DIR}/${FILENAME_DB}" s3://your-s3-bucket/bookstack/ to the bookstack_backup.sh script after creating the archives (this will require installing and configuring s3cmd).

5. Updates: rolling vs maintenance window

Regular updates are critically important for security and new features.

  • System Updates (OS, PHP, MySQL):
    • Rolling (continuous): For non-critical security patches, automatic updates can be configured (e.g., using unattended-upgrades).
    • Maintenance Window: For major updates to PHP, MySQL, or the Linux kernel, it is recommended to plan a maintenance window, as these may require a server reboot or lead to temporary service unavailability. Test updates on a staging server if possible.
    
    sudo apt update && sudo apt upgrade -y # System update
    
  • BookStack Updates:

    BookStack is updated via Git and Composer. It is recommended to perform these during a maintenance window.

    
    cd /var/www/bookstack
    git pull # Download latest changes from the repository
    composer install --no-dev # Update dependencies
    php artisan migrate --force # Run database migrations (if any)
    php artisan cache:clear # Clear BookStack cache
    php artisan view:clear # Clear view cache
    sudo chown -R www-data:www-data /var/www/bookstack # Ensure permissions are correct after pull
    sudo chmod -R 775 /var/www/bookstack/storage /var/www/bookstack/bootstrap/cache
    sudo systemctl reload php8.3-fpm # Restart PHP-FPM
    sudo systemctl reload caddy # Restart Caddy
    

    Always check the official BookStack documentation before updating, as the process may change.

Troubleshooting + FAQ

My BookStack is not working, I see a 500 error or a blank page. What should I do?

A 500 error (Internal Server Error) usually indicates a problem with PHP or the application. First, check the logs:

  • Caddy Logs: sudo tail -f /var/log/caddy/access.log and sudo journalctl -u caddy -f. Look for errors related to PHP proxying.
  • PHP-FPM Logs: sudo tail -f /var/log/php8.3-fpm.log (or the corresponding PHP version).
  • BookStack Logs: sudo tail -f /var/www/bookstack/storage/logs/laravel.log. This is the most important log for debugging BookStack's own issues.

Common causes: incorrect file/directory permissions (especially storage and bootstrap/cache), errors in the .env file (incorrect DB credentials, wrong APP_URL), missing PHP extensions, database connection issues.

What is the minimum VPS configuration suitable for BookStack?

For small personal use or a team of 2-3 people with not a very large amount of data, a VPS with 1-2 vCPU, 2 GB of RAM, and a 40 GB SSD disk will be minimally suitable. This is sufficient for stable operation of Ubuntu 24.04 LTS, PHP 8.3/8.4, MySQL 8.0, and Caddy with BookStack. It is important that the disk is SSD for good database performance.

What to choose — VPS or dedicated for this task?

For most BookStack use cases (personal wiki, knowledge base for a small or medium team of up to 30-50 people), a VPS is the optimal choice. It offers sufficient performance, flexibility, and is significantly lower in cost. A dedicated server should be considered if you have a very large team (hundreds of users), a huge amount of data, critical performance requirements without any compromises, or if you plan to host many other resource-intensive applications on the same server.

I changed the domain name. What needs to be updated?

If you have changed the domain name, you need to update at least two places:

  1. BookStack .env file: Change the APP_URL value to the new domain name (e.g., APP_URL=https://new-domain.com).
  2. Caddyfile: Edit /etc/caddy/Caddyfile and replace the old domain name with the new one in the first line (e.g., new-domain.com { ... }).
After making changes, don't forget to restart Caddy: sudo systemctl reload caddy and clear the BookStack cache: php artisan cache:clear && php artisan view:clear.

How to update BookStack to a new version?

The BookStack update process usually includes: navigating to the BookStack directory (cd /var/www/bookstack), pulling the latest changes from Git (git pull), updating PHP dependencies via Composer (composer install --no-dev), running database migrations (php artisan migrate --force), and clearing the BookStack cache (php artisan cache:clear && php artisan view:clear). It is always recommended to read the official update instructions for a specific BookStack version, as there may be specific steps.

BookStack returns "Access Denied" error when trying to connect to MySQL.

This error means that BookStack cannot connect to the MySQL database with the provided credentials. Check the following:

  • .env file: Make sure that DB_USERNAME, DB_PASSWORD, and DB_DATABASE in the /var/www/bookstack/.env file exactly match those you created in MySQL.
  • MySQL User: Make sure that the user bookstack_user exists in MySQL and has the correct privileges for the bookstack_db database. You can check this by logging into MySQL as root and executing SELECT user, host FROM mysql.user; and SHOW GRANTS FOR 'bookstack_user'@'localhost';.
  • MySQL Service: Check that the MySQL service is running: sudo systemctl status mysql.

Conclusions and Next Steps

Diagram: Conclusions and Next Steps
Diagram: Conclusions and Next Steps

Congratulations! You have successfully installed and configured BookStack on your VPS, creating a reliable and controlled knowledge management platform. Now you have a powerful tool for organizing information, whether it's personal notes, project documentation, or an extensive knowledge base for your team. You have gained full control over your data and infrastructure, ensuring privacy and security.

Where to go next?

  • User and Role Configuration: In BookStack, you can create users, groups, and assign them various access rights to books, chapters, and pages. Start by creating accounts for your team and configuring appropriate permissions.
  • Appearance Customization: BookStack allows you to change the logo, color scheme, and add custom CSS to brand your wiki according to your style.
  • Integration with External Services: Consider setting up Single Sign-On (SSO) via LDAP, SAML2, or social providers, if relevant for your team.
  • Server Monitoring: Install monitoring systems (e.g., Prometheus + Grafana or Zabbix) to track CPU, RAM, disk usage, and service status to promptly react to potential issues.

Was this guide helpful?

BookStack VPS Installation: Personal Wiki and Team Knowledge Base
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.