Software Distribution Platform
Distr is the easiest way to distribute enterprise software to customer-controlled or shared-responsibility environments.
- View all deployments and connected agents via the intuitive web UI
- Let your customers control their deployments via the white-label customer portal
- Access the API using our rich SDK
- Fully open-source and self-hostable
Check out the hosted version at https://app.distr.sh/register/
architecture-beta
group ctrl(cloud)[Your Cloud]
service db(database)[PostgreSQL] in ctrl
service hub(server)[Distr Hub] in ctrl
db:T -- B:hub
group customer(cloud)[Customer Cloud]
service app(server)[Your Application] in customer
service agent(internet)[Distr Agent] in customer
agent:L --> R:hub
app:T <-- B:agent
The Distr Hub is distributed as a Docker image.
Check out deploy/docker
for our example deployment using Docker Compose.
To get started quickly, do the following:
mkdir distr && cd distr && curl -fsSL https://github.com/glasskube/distr/releases/download/1.0.0/deploy-docker.tar.bz2 | tar -jx
# make necessary changes to the .env file
docker-compose up -d
The full self-hosting documentation is at https://distr.sh/docs/self-hosting/self-hosting/
To build Distr Hub from source, first ensure that the following build dependencies are installed:
- NodeJS (Version 22)
- Go (Version 1.23)
- Docker (when building the Docker images)
We recommend that you use mise to install these tools, but you do don't have to.
All build tasks can be found in the Makefile
, for example:
# Build the control plane
make build
# Build all docker images
make build-docker
To run the Distr Hub locally you need to clone the repository and run the following commands:
# Start the database and a mock SMTP server
docker-compose up -d
# Start Distr Hub
make run
Open your browser and navigate to http://localhost:8080
to register a user
and receive the E-Mail verification link via Mailpit on http://localhost:8025
.
Interact with Distr directly from your application code using our first-party SDK. The Distr SDK is currently available for JavaScript only, but more languages and frameworks are on the roadmap. Let us know what you would like to see!
You can install the Distr SDK for JavaScript from npmjs.org:
npm install --save @glasskube/distr-sdk
The full SDK documentation is at https://distr.sh/docs/integrations/sdk/