Installation

Install the desktop app, CLI tool, and remote agent.

macOS Desktop App

Via Homebrew (recommended)

brew tap berth-app/berth
brew install --cask berth

This installs the Berth app to /Applications/Berth.app and the berth CLI command to your PATH.

Direct Download

Download the latest .dmg from GitHub Releases. Open the DMG and drag Berth to Applications.

Gatekeeper Warning: Berth is not yet code-signed with an Apple Developer certificate. On first launch, macOS will show a warning. To open it:

You only need to do this once.

CLI Tool

The CLI is bundled with the desktop app. If you installed via brew install --cask berth, the berth command is already available.

CLI only (without the desktop app)

brew tap berth-app/berth
brew install berth-app/berth/berth-cli

Verify the installation:

berth --help

The CLI provides the same capabilities as the desktop app. See the CLI Reference for all commands.

Remote Agent (Linux)

The remote agent lets you deploy and run code on Linux servers. It runs as a systemd service and communicates with the desktop app through NATS (no inbound ports required) or direct gRPC.

One-Line Install

curl -sSL https://agent.getberth.dev/install.sh | sudo bash

The installer will:

  1. Detect your architecture (x86_64 or aarch64)
  2. Create a dedicated berth system user
  3. Download the agent binary to /home/berth/.berth/bin/berth-agent
  4. Ask you to choose a connection mode:
    • Synadia Cloud (NATS) — recommended. Paste your NATS credentials. Zero inbound ports needed.
    • Direct connection (mTLS) — generates TLS certificates. Requires port 50051 to be reachable.
  5. Install a rollback script for safe upgrades
  6. Create and start a systemd service

Verify Installation

# Check service status
sudo systemctl status berth-agent

# View agent logs
sudo journalctl -u berth-agent -f

Synadia Cloud Setup

If you chose NATS during installation:

  1. Sign up at cloud.synadia.com
  2. Create a system and account (or use defaults)
  3. Go to Users → select your user → click "Copy Credentials"
  4. Paste the credentials when the installer prompts

You can also configure NATS later:

sudo -u berth berth-agent setup-nats

Supported Architectures

ArchitectureBinary
x86_64 (Intel/AMD 64-bit)berth-agent-linux-x86_64
aarch64 (ARM 64-bit)berth-agent-linux-aarch64

Uninstall

curl -sSL https://agent.getberth.dev/install.sh | sudo bash -s -- --uninstall

This stops the service, removes the binary, and optionally removes the berth user.

For detailed agent configuration, pairing, security, and troubleshooting, see the Remote Agent Guide.

System Requirements

ComponentRequirements
Desktop AppmacOS 13 (Ventura) or later. Universal binary (Intel + Apple Silicon).
CLImacOS 13 or later.
Remote AgentLinux (x86_64 or aarch64). systemd for service management.
RuntimesPython 3, Node.js, Go, Rust, or Bash must be installed on the machine where code runs.
Public URLscloudflared must be installed where the project runs (brew install cloudflared on macOS).