DeployGroveDocumentationOpen dashboard

Projects and deployments

Create a project from a managed source repository or a trusted one-click application. Configure its source or template, deploy it, and inspect each release from the project page.

Start with the app checklist. See the stack guides in Build for folder layouts and examples. For a local database, read Persistent SQLite.

Create a project

Open Projects and select New project. Choose Source repository for code you own, or One-click application… for an app in the catalogue. Enter a project name and optional domain. One-click applications create their required services and connection values; save any generated credentials when they appear.

Source repository

Enter the HTTPS Git URL. Set Branch when it is not main. Leave Managed runtime on Detect from repository when the repository has one clear stack; otherwise select PHP 8.4, Node.js 24, Python 3.13, Bun 1.4, or Static HTML and complete the fields shown.

Commit composer.lock for PHP; one supported lockfile for Node.js or Bun; and a pinned requirements file or supported lockfile for Python. For Static HTML, commit index.html at the repository root, public/, or dist/. Choose Static HTML explicitly if the repository also has a package manifest. Static HTML serves committed files and does not run a package build.

Managed source rulesDeployGrove validates the repository and uses its maintained build recipes. Dockerfiles, Compose files, custom images, package lists, custom build or start commands, mounts, and capabilities are not accepted.

Private repositories

The token field is labeled Access token — leave blank for public repos. For GitHub, prefer a fine-grained personal access token limited to the selected repository with read-only Contents access.

For a GitHub fine-grained token, choose the account or organization that owns the repository, select that repository, and grant Contents: Read-only. A classic GitHub token with repo scope may be needed for a repository owned by another personal account. GitLab needs read_repository. Bitbucket needs Repositories: Read.

Treat tokens as passwords.Paste a token only into the project form. Never put one in source, logs, docs, or a support message.

Stack settings and environment

Open the project and choose edit. Confirm the branch and stack options, then manage Environment variables. Keep credentials and API keys secret. Add service connection values there if they were not injected during service creation. Changes take effect on the next deployment.

Use the domain and plan-supported memory or CPU controls shown by the form. Leave advanced limits at their defaults unless your app has a measured need.

Release actions

  • Deploy builds and releases the selected branch.
  • Rebuild forces a fresh managed build and requires privileged confirmation. Use Deploy for a normal release after a source or settings change.
  • Stop takes the app offline without deleting it.
  • Restart restarts the current release.
  • Deployment history shows past releases and their outcome.

Rollback

For Node.js, Python, Bun, and Static HTML, rollback starts a prior immutable release instead of rebuilding current source. PHP rollback is unavailable; deploy a new PHP revision instead. Rollback requires privileged confirmation.

Check data compatibility first.Rolling application code back does not roll a database back. Confirm migrations and service data still work with the older release.

Failed deployments

Open the failed release and read the deployment output from the first failed phase. Common causes are an unreadable branch, wrong lockfile, under-scoped token, missing stack field, failed install, or an app that does not become healthy.

Fix source or settings, then select Deploy. Use Rebuild only when a fresh managed build is needed. If it fails again, contact support with the project name, deployment time, commit, phase, and sanitized log lines.

Delete a project

Deletion is permanent.Download needed data and confirm the domain can be reused before you continue. Project deletion is not a backup plan.

Open the project’s destructive action, confirm the exact project, and complete privileged confirmation. Associated containers are removed, while named data volumes are preserved; arrange any later volume cleanup separately.

What success looks like

The project is healthy.The selected branch is recorded, the latest deployment is running, and application health is green.

Troubleshooting

If the app runs but cannot be reached, continue with Domains and TLS. If a dependency fails, confirm that the supported repository and token rules cover it.