Authentication is a critical part of your self-hosted Stormkit instance. During the initial setup, you will create an admin account that has full access to the admin interface and can configure instance-wide options.
The admin account can:
However, to import private repositories, you must configure at least one of the following authentication methods:
Git provider authentication is configured directly from the Admin Interface in Stormkit. To access this page:
/admin/git)GitHub authentication is the simplest to set up. Stormkit automatically creates a GitHub App for you with all the necessary permissions and configurations.
/admin/git in your Stormkit instanceStormkit will automatically create the GitHub App with the correct permissions, webhook configuration, webhook secret, and callback URLs. Once created, GitHub authentication will be immediately enabled for your instance.
Stormkit verifies every webhook GitHub sends against the GitHub App's webhook secret, and rejects webhooks when no secret is configured. Apps created with the steps above store the secret automatically.
If you configured the GitHub App manually, or created it before v2026.09.28.1, set the secret yourself:
openssl rand -hex 32, and save/admin/git, paste the same value into Webhook secret, and click Configure. Leave Client secret and Private key empty to keep their current values. On v2026.09.28.1 the form still asks for both, so re-enter them thereAlternatively, provide the value through the GITHUB_WEBHOOK_SECRET environment variable. A secret saved from the admin interface takes precedence.
Until a secret is configured, pushes and pull requests do not trigger deployments and /admin/git shows a warning.
To enable GitLab authentication, you need to create a GitLab Application first.
/admin/git in your Stormkit instanceGitLab authentication will be immediately enabled for your instance.
To enable Bitbucket authentication, you need to create a Bitbucket OAuth Consumer first.
/admin/git in your Stormkit instanceBitbucket authentication will be immediately enabled for your instance.
When a deploy key is configured, Stormkit does not register webhooks on your repositories. Add them yourself using the webhook URL shown in each app's settings under Deploy triggers. The URL carries a secret that identifies the app, and webhooks without it are rejected.