Skip to content

Software Distribution Platform - Distr is the easiest way to distribute enterprise software to customer-controlled or shared-responsibility environments.

License

Notifications You must be signed in to change notification settings

glasskube/distr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Distr

Software Distribution Platform

GitHub Repo stars License Docs

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 overview

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
Loading

Self-hosting

Docker

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/

Building from source

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

Local development

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.

Distr SDK

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/