statichost.eu logo
Documentation

Git Providers

You can use any git provider you want with statichost.eu. If git clone works, it will work on statichost.eu. Specific instructions for setting up certain git providers are given below. Please contact us if you feel we should add a provider, or if you have questions or comments!

Forgejo (e.g. Codeberg)

Forgejo-based providers, such as Codeberg or CodeFloe.

Private repositories

  1. Navigate to the repository of your site.
  2. Go to the Settings tab.
  3. Click on the Deploy keys sidebar entry.
  4. Click on the Add deploy key button.
  5. Paste the provided key under Content and optionally choose a name for the deploy key.
  6. Press Add deploy key.

Build webhooks

  1. Navigate to the repository of your site.
  2. Go to the Settings tab.
  3. Click on the Webhooks sidebar entry.
  4. Click on the Add Webhook button.
  5. Click on the Forgejo menu item.
  6. Enter https://builder.statichost.eu/YOUR_SITE_NAME in the Target URL field.
  7. Select POST as the HTTP Method.
  8. Select application/json as the POST Content Type.
  9. Select the Trigger On Push Events.
  10. Optionally specify a branch filter.
  11. Click Add Webhook.

SourceHut

Both sr.ht and self-hosted versions.

Private repositories

SourceHut does not have a repository-specific “deploy key” concept like many other providers. Instead, you need to add the deploy key to your user account. Note that if you have many private sites, the deploy keys of all sites need to be added separately (as the deploy keys are site-specific).

  1. Go to the keys settings of your user account.
  2. Under SSH Keys, paste the provided key SSH Public Key and click Add key.

Build webhooks

SourceHut has no user interface for adding webhooks*, unfortunately. The easiest way to achieve automatic deploys is to add a simple build script that essentially works like a webhook. It will run when code is pushed to the repository and issue a POST request to the build webhook endpoint of your site.

Add the following build configuration to a file called .build.yml in your repository:

image: alpine/latest
tasks:
- build: |
    curl -fX POST https://builder.statichost.eu/YOUR_SITE_NAME --no-progress-meter    

*) SourceHut does have webhooks, but they can only be managed via their API.

GitHub

Both GitHub-hosted and on-prem enterprise editions.

Private repositories

  1. Navigate to the repository of your site.
  2. Go to the Settings tab.
  3. Click Deploy keys in the menu.
  4. Click on the Add deploy key button.
  5. Choose a name, such as “statichost deployment” and paste in the provided key under Key.
  6. Press Add key.

Build webhooks

  1. Navigate to the repository of your site.
  2. Go to the Settings tab.
  3. Click on the Webhooks tab.
  4. Click on the Add webhook button.
  5. Enter https://builder.statichost.eu/YOUR_SITE_NAME in the payload URL field.
  6. Select application/json as the content type.
  7. Select Just the push event.
  8. Press Add webhook.

GitLab

Both managed cloud-based and self-managed GitLab.

Build webhooks

  1. Navigate to your project (repository).
  2. Got to the Settings menu entry.
  3. Click on the Webhooks submenu entry.
  4. Click on the Add new webhook button.
  5. Enter https://builder.statichost.eu/YOUR_SITE_NAME in the URL field.
  6. Select the trigger type Push events and optionally specify the deployment branch.
  7. Check SSL verification.
  8. Click Add webhook.

Bitbucket

Both Bitbucket Cloud and Self-Hosted Bitbucket.

Private repositories

  1. Navigate to your repository on bitbucket.org.
  2. Go to Repository settings.
  3. Under Security, select Access keys.
  4. Click the Add key button.
  5. Enter a descriptive name (e.g., “statichost deployment”) under Label.
  6. Paste the provided key into the Key field.
  7. Press Add key.

Build webhooks

  1. Navigate to your repository on bitbucket.org.
  2. Go to Repository settings.
  3. Select Webhooks from the sidebar.
  4. Click the Add webhook button.
  5. Enter a descriptive title (e.g., “statichost deployment”).
  6. Enter https://builder.statichost.eu/YOUR_SITE_NAME in the URL field.
  7. Leave Repository Push as the only trigger.
  8. Click Save.

Azure DevOps

Both Azure DevOps in the cloud and Azure DevOps Server on-prem.

Private repositories

Azure DevOps does not have a “deploy key” concept like many other providers. It is possible to add SSH keys to your user account, and deploy keys can be added here*. Please note, however, that these keys will have full read/write access to all repositories you have access to. Thus, the recommended way to connect to private Azure DevOps is via Personal Access Tokens. Tokens can be limited in scope and can have expiration times.

In order to use a Personal Access Token (PAT) for authentication, you need to select HTTPS as the connection scheme in statichost.eu and add HTTPS authentication details. The username is your Azure DevOps username and the password is the PAT.

In order to create a new Personal Access Token, you can use either one of these methods:

*) Azure DevOps only supports RSA keys, while statichost.eu uses ed25519 keys by default. If you need to create an RSA key for your site, please contact support.

Build webhooks

  1. Navigate to your project.
  2. Go to Project settings (at the bottom of the sidebar).
  3. Select Service hooks under General.
  4. Create a new subscription (plus sign).
  5. Select the Web Hooks service.
  6. Select the Code pushed trigger, and add a filter for the repository connected to your site.
  7. Enter https://builder.statichost.eu/YOUR_SITE_NAME under URL.
  8. Click Finish.