Skip to main content
Deploy Pullbase without containers by running the server and agent binaries directly with systemd. This is the recommended approach for production Linux servers.

Prerequisites

  • Ubuntu 22.04+, Debian 12, Rocky Linux 9, or a similar systemd-based distribution
  • curl and openssl
  • (Production) Reverse proxy for TLS termination or certificates for native TLS
Database: Pullbase uses SQLite by default — no external database required. For high-availability deployments, PostgreSQL 15+ is recommended.

Configure the server

Create a directory for configuration:

Install the server

1

Download the server binary

Download the latest release with the web UI embedded:
For ARM64 systems, use pullbase-server-linux-arm64.
2

Download pullbasectl

The CLI tool is used for bootstrapping, managing servers, and automation:
For ARM64 systems, use pullbasectl-linux-arm64.Verify the installation:
3

Download migrations

Create an environment file with secrets and connection details:
Store long-lived secrets in a vault or parameter store and template this environment file during provisioning.

Using PostgreSQL instead

For high-availability or large-scale deployments, use PostgreSQL:
Then update /etc/pullbase/pullbase.env:

Create a systemd service

Create the service user:
Create the systemd unit:
/etc/systemd/system/pullbase.service
Enable and start the service:
Verify the health endpoint: curl http://localhost:8080/api/v1/healthz

Bootstrap the admin

On first start, Pullbase generates a one-time bootstrap secret. Use it to create your admin account:
The bootstrap secret file is automatically deleted after successful admin creation.
Alternatively, use the secret file directly:

TLS configuration

Pullbase supports two approaches for TLS:

Option 1: Native TLS (simpler)

Enable native TLS by adding these variables to /etc/pullbase/pullbase.env:
For development, generate self-signed certificates:
Use CA-signed certificates in production.

Option 2: Reverse proxy (for existing infrastructure)

Place Pullbase behind a reverse proxy that terminates TLS:
/etc/nginx/sites-available/pullbase

Install agents on managed servers

Once the central server is running, install agents on each server you want to manage. After creating a server and token in the Pullbase UI, run the install script on each managed server:
The script downloads the agent, creates a systemd service, and starts it automatically.
Get the complete install command from the UI: Servers > [your server] > Install

Manual installation

For more control, see Agent Operations for step-by-step manual installation.

Next steps


Building from source (optional)

If you need to build Pullbase yourself (for development or custom builds):
1

Prerequisites

Install Go 1.22+ and Node.js 20+.
2

Clone and build

The server binary (with embedded UI) is written to bin/pullbase-server.
3

Build the agent