Private Hub
Windmill Hub is the community website of Windmill where you can find and share your Scripts, Flows, Apps and Resource Types with every Windmill user. The best submissions get approved by the Windmill Team and get integrated directly in the app for everyone to reuse easily.
Example of Hub scripts suggested in flow editor
On Enterprise Edition and Whitelabelling, you can have your own Private Hub. This is a private Windmill Hub instance that is only accessible by your team. You can share your scripts, flows, apps and resource types with your team and keep them private. You can also have your own approval process for the submissions and have your own page with your branding.
You can configure your Private Hub using Docker by following the instructions in the Private Hub repository. We also provide values in our Helm chart for including the Private Hub in a Kubernetes cluster.
Once your Private Hub is up and running, you need to change the hub base url field in the core instance settings to your Private Hub url.
Authentication on the Hub is performed via the Windmill instance. The Hub and Windmill instances must have the same root domain name for authentication to work. For example, if the Windmill instance is available on windmill.example.com, the Hub must be accessible on a similar sub-domain such as hub.example.com. You'll also need to set the COOKIE_DOMAIN environment variable of the Windmill instance (server) to the root domain name (e.g. example.com).
If you are interested in having your own Private Hub, please contact us.
Local Syncing and Syncing with the Public Hub
We provide a CLI to sync your Private Hub with your local file system. To use the CLI, set the following environment variables:
HUB_URL
: The URL of your Private HubTOKEN
: A superadmin user token
Use the commands wmill-hub pull
and wmill-hub push
for pulling and pushing, respectively.
The CLI will create a hub
folder on your local system with all the integration folders inside.
If you want to partially or fully sync your private hub with the public one:
- Pull the scripts locally from the public hub using
wmill-hub wm-pull
. - Delete any integration folders you don’t want to add to your Private Hub.
- Push the scripts to your Private Hub using
wmill-hub push
.
If you can't use the public hub, we can provide you with a zip file of the public hub scripts.
Once extracted, you will see a hub folder with all the integration folders inside. Drag and drop those folders into your hub
folder.
You can then push as usual using wmill-hub push
.
Hub scripts search and embeddings
The search on your private hub and on your Windmill instance is powered by vector search. Vector search requires embeddings of the hub scripts which are computed by your private hub every hour. Your Windmill instance then fetches those embeddings once a day and uses them for search in the app.
You can modify the embeddings computation and the embeddings retrieval frequencies.
- To update the embedding computation frequency, set the environment variable
EMBEDDINGS_REFRESH_INTERVAL_SECS
on your Hub server. We do not recommend setting this value to less than 3600 seconds, as it can be resource-intensive, especially for large hubs. - To update the frequency of embedding retrieval, set the environment variable
HUB_EMBEDDINGS_PULLING_INTERVAL_SECS
on your Windmill server(s).
Both values are in seconds.