Self-hosting and CLI

On this page 3

Production services

The production cloud configuration runs a Stacks frontend and API with PostgreSQL, Redis-backed cache and queues, a scheduler, TLS, private uploads, public assets, and log storage.

Queue workers listen for campaign, automation, mail, SMS, commerce, integration, and default work. Keep the scheduler running for due campaigns, profile polling, alert evaluation, and retry jobs.

Common commands

CommandPurpose
bun installInstall dependencies
./buddy devStart local development
./buddy generate:migrationsGenerate schema changes from models
./buddy migrateApply migrations
./buddy generate:openapiGenerate the current API specification
./buddy build docsBuild this BunPress site
./buddy lintRun lint checks
./buddy typecheckRun TypeScript checks
./buddy testRun the test suite

Deployment checks

./buddy env:check --file .env.production --strict
./buddy deploy --dry-run --env production
./buddy cloud --diff
./buddy deploy --env production

Before production traffic, verify database migrations, Redis, each queue, the scheduler, mail and SMS providers, signed webhook delivery, public confirmation and unsubscribe routes, object storage, and backups.

BunPress writes the documentation site to dist/docs/.bunpress, which the cloud configuration serves at /docs.

Creator-first communications infrastructure, released under the MIT License.