Apps

An app is a long-running process that Buddy starts and supervises inside a Sandbox - a web server, a worker, a dev server. Unlike a one-off command, an app is part of the Sandbox definition, so it starts again automatically every time the machine boots.

In the UI

Apps are defined in the Sandbox settings under App commands: each one is the command that launches it, for example npm start or nginx -g 'daemon off;'. They run in the app directory unless the command changes it.

The entry expands into Logs, Stop, and Restart.

From the CLI

bash
bdy sb app add my-sandbox "npm run worker" bdy sb app list my-sandbox bdy sb app status my-sandbox <app> bdy sb app start my-sandbox <app> bdy sb app stop my-sandbox <app> bdy sb app remove my-sandbox <app> $$$$$$

app list is also where you read an app's state - it prints the id, the command, and the status: RUNNING, ENDED, or FAILED.

An app can also be declared when the Sandbox is created:

bash
bdy sb create --app-command "npm start" --app-dir /home/buddy/app $

In YAML

yaml
app_dir: /home/buddy/app apps: - npm start - npm run worker

Full key reference: Sandbox YAML.

Logs

Every app has its own log stream, separate from the setup log and from command logs:

bash
bdy sb app logs my-sandbox <app> $

See Logs.

Exposing an app to the internet

An app is reachable from outside only through an endpoint.

Warning
The app must listen on 0.0.0.0, not 127.0.0.1: a server bound to localhost works fine in the terminal but is unreachable through an endpoint.

Multiple apps in one Sandbox

A Sandbox can run as many apps as its resources allow - an API, a worker, and a frontend dev server side by side, each with its own log, each with its own endpoint if it needs one.

Info
Apps can also be managed programmatically - over the REST API, from a pipeline with the Manage Sandbox action, from inside the Sandbox with this app, and through MCP by AI agents.

Last modified on Aug 17, 2026