Digger has 2 main components: the CLI that runs within your CI and an orchestrator backend. The orchestrator enables parallelism, policies and other features that require centralisation.
This guide describes self-hosting the orchestrator backend as a binary aka “roll your own”. Self-hosting may come handy when using the cloud-based version of it is not an option (for example due to compliance requirements). More guides (docker, EC2, etc) are coming soon.
This guide is about self-hosting Digger Community Edition which is free and open source (Apache 2.0 license) (repo on GitHub). You do not need a license or an account on Digger Cloud to self-host Digger CE. If you require enterprise-grade features like Github Enterprise Server support, SSO / SAML, multi-team / multi-org - Talk to us
- Postgres database (e.g. RDS)
- Rights to install GitHub apps in your organisation
Download Digger API binary
Get it from releases. Note that it’s a separate binary, not to be confused the CLI agent that runs in the CI job.
Set initial environment variables
BEARER_AUTH_TOKEN=$(openssl rand -base64 12)
HTTP_BASIC_AUTH_PASSWORD=$(openssl rand -base64 12)
Start the service
You should now see initial database migrations and tables being created. Go to your_digger_hostname:3000/projects; you should see the dashboard. The setup is not complete yet!
Create GitHub app
Go to your_digger_hostname:3000/github/setup and click the Setup button. Follow the instructions on GitHub to install the app to the repositories in your organisation.
After the setup is done, GitHub should redirect you to the summary page at your_digger_hostname:3000/github/exchange-code
Copy the values into the following environment variables and restart the service.
Install the GitHub app
On the exchange-code page (see above) click the installation link at the top and select the repositories.
From here on it’s the same steps as in the Quickstart:
- Create digger.yml
- Create workflow file
- Create secrets
- Create a PR to verify that Digger works