Product · · 1 min read · Giovanni Liber

Deploy beyond GitHub

GitLab, Codeberg, Forgejo and Gitea are now supported

The GitLab, Codeberg, Forgejo and Gitea logos connected to the Eurobase logo

Until today, GitHub was the only Git host a Eurobase project could deploy from. Many teams keep their code somewhere else: on gitlab.com or their own GitLab, on Codeberg, or on a Forgejo or Gitea server they run themselves.

From today, Eurobase deploys from all of them. You link a repository once, choose its branch in your project, and every push to that branch builds and goes live, with the same logs, rollback and domains as a project that deploys from GitHub.

What you get

  • Deploy on pushEvery push to the branch you choose builds and goes live.
  • LogsFollow each build and read your project’s logs.
  • RollbackGo back to an earlier deployment in one step.
  • DomainsServe the project on its eurobase.dev address or on your own domain.
  • Read-only accessEurobase refuses a token that can write to your repository.
  • Verified pushesOnly deliveries Eurobase can verify with your webhook’s secret start a deployment.

How it works

Every host needs the same two things: a token that lets Eurobase read your code, and a webhook that tells Eurobase about each push. What changes is where you create them. A self-hosted server works as long as Eurobase can reach it over HTTPS.

  1. Add the repository

    Open Git in the sidebar, select Add repository and paste the repository’s HTTPS URL.

  2. Paste a read-only token

    Select Open token settings to open the token page on your Git host. Create a read-only token and paste it into Eurobase.

  3. Add the webhook

    Copy the webhook URL and secret into your Git host. The repository shows Connected after the first push or test delivery.

  4. Deploy from it

    In your project’s Deployments, choose the repository and branch, then select Save and Deploy. From then on, every push to that branch deploys.

GitLab

Paste the URL of a repository on gitlab.com or on your own GitLab server.

Token
On gitlab.com, a legacy personal access token with the scopes read_api and read_repository, because project access tokens there need a paid plan. That token can read every repository of its account, so Eurobase asks you to confirm. On a self-managed GitLab, a project access token with the role Reporter and the same scopes, which reads only that repository.
Webhook
Add new webhook, with the URL from Eurobase in URL, the secret in Secret token and Push events selected.
Test
Next to the webhook, select Test, then Push events.
GitLab guide

Codeberg

Codeberg is a non-profit Git host based in Germany, built on Forgejo. Paste the URL of your repository on codeberg.org.

Token
A new access token limited to this repository under Repository access, with the repository permission set to Read.
Webhook
Select Open webhook form in Eurobase. Paste the URL into Target URL and the secret into Secret, and keep Push events.
Test
Open the webhook and select Test delivery.
Codeberg guide

Forgejo

Forgejo is the open source Git server that Codeberg runs. On your own Forgejo server, linking works the same way as on Codeberg.

Token
A new access token limited to this repository, with the repository permission set to Read.
Webhook
A Gitea or Forgejo webhook: both types work. Paste the URL into Target URL and the secret into Secret, and keep Push events.
Test
Open the webhook and select Test delivery.
Forgejo guide

Gitea

Gitea is a lightweight Git server that many teams run themselves. Paste the URL of a repository on your Gitea server.

Token
Generate New Token with the repository permission set to Read. A Gitea token can read every repository of its account, so Eurobase asks you to confirm. To limit it, create the token on an account that sees only the repositories you deploy.
Webhook
A Gitea webhook, with the URL in Target URL, the secret in Secret and Push events kept.
Test
Open the webhook and select Test Push Event.
Gitea guide

Security

Eurobase only needs to read your code, so it refuses a token that can write. If a token can read every repository of its account, Eurobase asks you to confirm before it connects.

Each webhook has its own secret. Eurobase checks every delivery against it and ignores any delivery it can’t verify, so nobody else can start a deployment of your project.

Deploy your app in Europe

Sign up