Deploy your first project in 2 minutes.
When you open Berth for the first time, a 5-step onboarding wizard guides you through setup:
Introduction to Berth and what it can do.
Visual tour of key capabilities: local execution, remote deployment, scheduling, and AI control.
Configure Synadia Cloud credentials for zero-inbound-port remote agent communication. Skip this if you only need local execution.
Choose to start with the local target or pair a remote agent using an 8-character pairing code.
Create and run your first sample project to verify everything works.
Every step except the first deploy is skippable. The wizard only appears once.
Click "Paste & Deploy" in the sidebar. You can paste inline code or select an existing directory.
Paste any script. For example:
import time
for i in range(5):
print(f"Hello from Berth! ({i+1}/5)")
time.sleep(1)
print("Done!")
Berth automatically detects the runtime (Python), entrypoint (main.py), and any dependencies. Give your project a name.
Click Create. If "Auto-run on create" is enabled in Settings, the project starts immediately. Otherwise, click the Run button in the project detail view.
The terminal panel shows real-time output with ANSI color support. Click Stop to end execution.
Tip: You can also import an existing directory by clicking "Import" in the project list and selecting a folder.
The CLI provides the same capabilities as the desktop app:
# Deploy and run inline code
berth deploy ./my-script --name my-project
# Or import and run separately
berth import ./my-code --name my-project
berth run my-project
# View logs
berth logs my-project --follow
# Stop
berth stop my-project
Prerequisites: a Linux server with the agent installed and NATS configured.
On your server, view the agent logs to find the pairing code:
sudo journalctl -u berth-agent -f | grep PAIRING
You'll see something like: PAIRING CODE: ABCD1234
In the Berth app, go to Targets → Add Target. Enter the server name and NATS agent ID, then enter the pairing code when prompted.
In any project, select your remote target from the target dropdown, then click Run. Berth packages your code, sends it to the agent, installs dependencies, and runs it.
# Or via CLI
berth deploy ./my-project --target my-server
Logs stream back through NATS in real-time, just like local projects.
berth logs my-project --target my-server --follow