Skip to content

Quick Start

Connect a repository, check the build settings we detected, press Deploy. Your site is live on a deploybase.eu URL once the build finishes, usually a minute or two, and every push after that deploys itself.

There is no CLI to install, no workflow file to commit, and no pipeline to write. If you would rather drive deploybase from a script or an agent, the API route at the bottom of this page does the same job.

  • A deploybase account at app.deploybase.eu
  • A static site in a Git repository on GitHub, GitLab, Bitbucket, Codeberg, or any self-hosted Git server

From the dashboard, press New Project. The first step is 01 / Source, and there are two ways through it.

Press Connect GitHub. A GitHub window opens where you install the deploybase App and choose which repositories it can see, either all of them or a hand-picked list. When you finish, the window closes and the repository picker appears in its place.

No token to create, no scopes to reason about. You can change which repositories are shared at any time from Adjust GitHub App access in the same picker.

Paste an HTTPS clone URL, for example https://gitlab.com/you/site.git. Public repositories need nothing else. Private ones need an access token with read permission, which you paste in the same step and which we store encrypted.

Which token and which scope depends on the provider. Connecting Git has the table, including the extra permission auto-deploy needs.

Step 02 / Deploy shows the settings we worked out from your repository, rather than an empty form for you to fill in:

Setting Where it comes from
Framework Config files and dependencies in your repository root
Build command The framework default, for example npm run build
Output directory The framework default, for example dist or build
Package manager Your lockfile, or the packageManager field in package.json

If we cannot work out the framework we say so rather than guessing, and fall back to a generic npm run build into dist/.

Everything on that screen is editable. If your build script is npm run generate or your output lands in .output/public, change it here and we use your value instead. Supported frameworks lists every default we apply.

Two more fields matter before you press Deploy:

  • Branch is the one that deploys to production. It defaults to main; for a connected GitHub repository the field is a list of your actual branches.
  • Auto-deploy registers a webhook so every push to that branch deploys on its own. It is on by default for GitHub, GitLab, Bitbucket and Codeberg. Self-hosted Git deploys on demand instead.

Your project name decides the site URL: My Blog becomes my-blog.sites.deploybase.eu.

Press Deploy. The build runs in an isolated container on EU infrastructure (Paris), and the deployment page fills in the build log as it goes, so you can watch the install and build steps rather than waiting on a spinner.

The status moves pendingqueuedbuildingdeployed. When it reaches deployed, your site is live at:

https://{slug}.sites.deploybase.eu

If it reaches failed instead, the build log holds the reason. Build system covers the common failures.

That is the whole setup. From here on, a push to your default branch builds and promotes to production on its own.

Pushes to any other branch build too, and land on their own URL at https://{branch}-{slug}.previews.deploybase.eu without touching production. See preview deployments.

Production is a pointer to one deployment, not a rebuild, so rolling back is instant: pick an older deployment and promote it. See deployments.

Everything above is also a REST API, which is the right route for CI systems, scripts, and agents. Authenticate with an API key.

Create a project:

Terminal window
curl -X POST https://api.deploybase.eu/api/v1/projects \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My Blog", "framework": "astro", "git_repo_url": "https://github.com/user/blog.git", "git_provider": "github"}'

Trigger a deployment:

Terminal window
curl -X POST https://api.deploybase.eu/api/v1/deployments \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"project_id": "PROJECT_ID", "branch": "main"}'

Builds are asynchronous, so poll for the result:

Terminal window
curl https://api.deploybase.eu/api/v1/deployments/DEPLOYMENT_ID \
-H "Authorization: Bearer $TOKEN"

The full surface is in the API reference. Agents can also drive deploybase over MCP instead of raw HTTP.