Skip to main content
A server that cannot reach a container registry can still run Collabase. You build a bundle with all required images on a machine that has internet access, copy it to the server and let the install or update script load it. This guide covers the first installation and every later upgrade. Follow the phases in order. Every phase ends with a checkpoint.

At a glance

Two paths lead through this guide:
  • First installation: phases 1, 2, 3 and 5.
  • Upgrade: phases 1, 2, 4 and 5.

Requirements

On the connected machine

  • Docker 27 or later. Older versions cannot restrict the export to one architecture and fail on the multi-architecture PostgreSQL image.
  • Internet access to ghcr.io and Docker Hub.
  • About 6 GB of free disk space for intermediate layers. The finished bundle is about 1 GB.
  • A sign-in to the GitHub container registry if the download asks for it: docker login ghcr.io.
An Apple Silicon Mac works as the connected machine. The bundle always contains linux/amd64 images, which is what the server runs.

On the target server

  • The requirements of the standard installation: operating system, CPU, RAM, disk space and free ports 80 and 443.
  • Docker 24 or later with Docker Compose version 2.
  • The deployment package from Collabase, unzipped. It holds install.sh, update.sh and bundle.sh.

Network

The server needs no connection to the internet to install, start or update Collabase. Features that talk to external services still need a route to them:

Overview

Phase 1: Build the bundle

Phase 1 of 5. Next: Transfer and check. Run bundle.sh on the connected machine. It does not have to be the target server, and it normally is not. The script is self-contained, so you can copy this one file to any machine that has Docker.
1

Choose the release

Name the release you want, without a leading v, for example 0.12.3-rc or 0.12.0. Without --version the script asks for it.
2

Run the bundler

The script downloads the images and exports them. This takes a few minutes. Use --output <folder> to write the files somewhere other than ./offline/.
3

Note what the bundle contains

The bundle holds the Collabase application, the document processor, the web server, PostgreSQL and Redis. It also holds the collaboration relay when the release has one. PostgreSQL and Redis are included on purpose, because an air-gapped server cannot reach Docker Hub either.
The script writes two files into ./offline/:
Checkpoint. The script ends with Offline bundle ready and lists the images it packed. Both files exist. If the download failed, see Troubleshooting.
Next: Transfer and check.

Phase 2: Transfer and check

Phase 2 of 5. Previous: Build the bundle. Next: Install or Upgrade.
1

Copy both files

Copy the .tar.gz and the .sha256 file to the target server, for example with a USB drive or through your approved transfer route. Keep them in the same folder.
2

Copy the deployment package

A first installation needs the unzipped deployment package on the server. For an upgrade, the package that is already installed stays in place. Replace it only when the release notes say so.
You do not need to verify the checksum yourself. The scripts compare it before they load anything. Without the .sha256 file they warn and continue, which is acceptable only if your transfer route already guarantees integrity.
Checkpoint. The bundle and its checksum file are on the server, next to the deployment package.
Next: Install for a new server, or Upgrade for an existing one.

Phase 3: Install

Phase 3 of 5. Previous: Transfer and check. Next: Verify and keep it running.
1

Start the installer with the bundle

2

Answer the questions

The installer asks the same questions as an online install. See Installation for the list.
3

Wait for the start

The installer verifies the checksum, loads the images and starts Collabase. It sets COLLABASE_VERSION in .env to the version the bundle contained, so no service tries to download anything.
--offline works with install.sh for a first installation only. For an existing installation use update.sh --offline, see Phase 4.

HTTPS without internet

The installer picks a certificate mode from your URL. Check that it suits an air-gapped server before you rely on it. To use your own certificate, put the certificate and key into the certs folder of the deployment package. Then set this line in .env and restart:
Checkpoint. bash install.sh status shows every service as running and healthy. Open your Collabase address in a browser and sign in with the admin account you created. If it does not start, see Troubleshooting.
Next: Verify and keep it running.

Phase 4: Upgrade

Phase 4 of 5. Previous: Transfer and check. Next: Verify and keep it running. An offline upgrade works like an online one. The script creates a database backup, checks your database with the new version, switches over and waits until Collabase is healthy. See Updates for the details. Only the source of the images differs.
1

Read the release notes

Some releases include manual steps. Read the release notes for the target version first.
2

Preview the update

Optional. A dry run shows what would happen and changes nothing.
3

Run the update with the bundle

The bundle decides the version. --offline and --version cannot be combined.
The Update button in the administration area runs the update without a bundle and fails on an air-gapped server. Update from the shell.

Roll back

bash update.sh rollback returns to the previous version. On an air-gapped server this works only while the previous images are still on the server. If they were removed, load the older bundle first:
Database changes only move forward. If a release changed the database and the application misbehaves after a rollback, restore the backup that the update created. See Backup and restore.
Checkpoint. The script ends with a healthy status and Collabase loads in the browser. If the update stopped early, your previous version keeps running. See Troubleshooting.
Next: Verify and keep it running.

Phase 5: Verify and keep it running

Phase 5 of 5. Previous: Install or Upgrade.
1

Check the version

Open Admin → Settings → About and compare the version with the bundle you loaded.
2

Keep the bundle

Store the bundle of the running version in a safe place. You need it for a rollback after the images have been removed.
Checkpoint. The version under About matches the bundle, and you know where the bundle of this version is stored.

Troubleshooting

Installation

Requirements and the standard installation with internet access.

Updates

What the update script does and what to check afterwards.

Backup and restore

Where backups are kept and how to restore one.
Last modified on October 17, 2026