GitHub
GitHub is optional. Uploading a folder, the CLI and the MCP server all work without it.
Deploy a repository
New project → Connect GitHub, or Settings → GitHub on an existing project. Enter owner/repository (or its URL) and a branch. FASTBASE downloads the branch head and deploys it; the commit is recorded on the deployment.
What works today
| Capability | Status |
|---|---|
| Public repositories | Available |
| Deploy a branch on demand (dashboard, API) | Available |
| Private repositories | Settings → GitHub → Connect GitHub (an admin authorizes once per workspace). Needs GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET on the installation |
| Automatic deploy on push | Available once GITHUB_WEBHOOK_SECRET is set and the webhook is added to the repository |
| Preview deployment per pull request | Pushes to non-default branches create preview deployments; PR comments and status checks are coming |
Automatic deploys
- Set
GITHUB_WEBHOOK_SECRETon the FASTBASE installation. - In the repository: Settings → Webhooks → Add webhook
- Payload URL:
https://<api host>/api/v1/webhooks/github - Content type:
application/json - Secret: the same value
- Events: Just the push event
- Payload URL:
A push to the connected branch deploys to production. A push to any other branch creates a preview deployment. Requests without a valid signature are rejected.
Other providers
Source providers sit behind a GitProvider interface. GitLab and Bitbucket are not implemented yet.