The deploy command
Deployment is done by running this command with a reference to your manifest file. The deploy command is idempotent and will handle upserting your app to the cloud.
Your manifest must include an
api_version field to deploy. This pins your app to a specific Compose runtime. Use "stable" if unsure. See Release channels for details.deploy prints the URL of your app’s dashboard.
Hosted Postgres database
When you deploy, Compose automatically provisions a dedicated Postgres database for your app. This database is used for two things:- Your state. Any collections you create in your tasks are stored here. You can query or inspect your own data directly.
- Compose internal state. Compose uses the same database to power durable execution (resuming tasks cleanly after crashes and rolling deploys), reorg monitoring for transactions, and wallet bookkeeping. These internal tables live in reserved namespaces and are managed by the runtime.
Monitoring your app via the webapp
Like with our indexing products, you’ll see your Compose Apps in the Goldsky webapp. From there you can view the app’s status, recent task runs (with per-operation details — eachctx.* call a task made), and raw log output.
The URL for your app’s dashboard is:
Viewing and downloading deployed source
When you deploy, the CLI uploads your app’s full local source tree: the transitive local import closure,package.json and lockfile, tsconfig.json, and everything under src/contracts/. node_modules, .env*, and files that look like keys or secrets are excluded.
The dashboard’s Code tab is a file browser over that source tree. The Download app button produces a zip that is a runnable local Compose project, including a names-only .env.example.
Apps deployed before source capture existed show per-task compiled bundles instead of original sources. Redeploy with a current CLI to get full fidelity. Very large projects may skip source capture, in which case the CLI warns at deploy time and the dashboard falls back to the same per-task bundles.
The CLI equivalents are goldsky compose source and goldsky compose download; see App lifecycle for the workflow.
Managing a deployed app from the CLI
For day-to-day app management from the terminal, use the lifecycle commands:Deleting a Compose app
You can delete a Compose app either from the webapp (navigate to the app’s dashboard and click Delete) or from the CLI:Database management options
When deleting a Compose app that uses a hosted Postgres database, you can choose whether to keep or delete the associated database:- Delete associated database: The hosted Postgres database will be permanently deleted along with the app and all its data. This is the default in the webapp modal (“Delete associated database” is pre-checked). From the CLI, pass
--delete-databaseor answer the interactive prompt to opt in. - Keep database: Preserve the database when deleting the app. This is useful if you want to retain your data for analysis or migrate it to another app. This is the default in the CLI; in the webapp, uncheck “Delete associated database” before confirming.
Pipeline validation
If you choose to delete the associated database, the system will check whether the database is being used by any active pipelines. If the database is referenced by one or more pipelines, the deletion will be blocked and you’ll see an error message listing the affected pipelines. To proceed with database deletion in this case, you must first:- Delete or modify the pipelines that reference the database
- Then retry deleting the Compose app with the database option selected