PORTLANEDocs

Instance bootstrap

Download the signed bundle from the client portal and run install.sh before accessing internal docs.

Before you can open Control Tower → Documentation (/docs), you must install the Portlane core bundle on your Linux server. Internal runbooks are served only from a running instance.

1. Client portal

  1. Sign in at app.portlane.tech
  2. Open Licence — review your plan (seats, features, validity) and download your organization's license file
  3. Open Téléchargements
  4. Download the Portlane Engine core bundle (portlane-core-*.zip)
  5. Click Obtenir le token GHCR — copy username and token for Docker login

Download is self-service once your organization has been activated commercially. If you do not see an active license, contact Bastion Lab.

The zip is stored in a private Supabase bucket; the portal generates a 15-minute signed URL.

2. Verify and configure

On the target VM (Ubuntu 24.04 LTS recommended, 8 GB+ RAM):

unzip portlane-core-V.zip && cd portlane-core-V
sha256sum -c checksums.sha256
# Place the license file you downloaded from the portal in this directory before install
cp deploy/.env.example deploy/.env
cp deploy/publish.env.example deploy/publish.env
# Edit deploy/.env (passwords) and deploy/publish.env (target URLs for your flows)

3. Authenticate and install

echo "$GHCR_TOKEN" | docker login ghcr.io -u "$GHCR_USER" --password-stdin
./install.sh

Offline / air-gapped: the bundle may include deploy/images.tar — use ./install.sh --offline.

install.sh installs Docker if needed, pulls pinned images, starts six engines + docs, and initializes the embedded portlane-pipelines/ git repo.

All engine images come from a private GHCR registry, signed and pinned to exact versions in the bundle: your instance runs exactly what was released, and a registry tag changing later never silently updates a server. Day-to-day flow deployments follow the same pull model — see Developer setup.

4. First access

SurfaceURL (loopback)
Control Towerhttp://127.0.0.1:8001/admin
Internal docshttp://127.0.0.1:8001/docs
Webhook listenerhttp://127.0.0.1:8000

Use the viewer credentials from deploy/.env for Basic auth.

5. Connect your pipelines repo

The bundle includes a starter portlane-pipelines/ folder. Point it to your Git remote:

git -C portlane-pipelines remote add origin <your-github-url>
git push -u origin main
git -C portlane-pipelines checkout -b dev && git push -u origin dev

See Developer setup for the dev/prod CI model.

Automation (ops)

Headless equivalent of the portal download (requires Supabase service role):

export SUPABASE_URL=... SUPABASE_SECRET_KEY=...
./deploy/scripts/fetch-client-bundle.sh --version 0.0.0-test --output /opt
./deploy/scripts/bootstrap-instance.sh --bundle-dir /opt/portlane-core-0.0.0-test

Full sandbox runbook lives in on-prem docs after install: Bootstrap instance dev.

Next steps

On this page