Deploying Apps
Every app needs its own git repo with a holden.yml. You register the repo with Holden, and it handles the rest.
1. Create Your App Config
Section titled “1. Create Your App Config”Add a holden.yml to your app’s repo:
services: web: image: ghcr.io/yourusername/myapp:latest domain: myapp.example.com port: 3000 env: DATABASE_URL: ${needs.postgres.url}
needs: postgres:2. Register the App
Section titled “2. Register the App”holden app add myapp --repo https://github.com/yourusername/myappHolden clones the repo, reads holden.yml, and deploys immediately. When you push changes, Holden picks them up via webhook (or within 5 minutes via polling).
Monorepos
Section titled “Monorepos”For monorepos, specify the path to holden.yml:
holden app add frontend --repo https://github.com/you/monorepo --path ./apps/frontendholden app add backend --repo https://github.com/you/monorepo --path ./apps/backendApp IDs
Section titled “App IDs”App IDs must be unique. Valid app IDs: lowercase letters, numbers, and hyphens. Must start with a letter.
myapp✓my-app✓my-app-2✓MyApp✗2myapp✗