Instance settings
Instance settings are accessible to all superadmins of your Windmill instance. This is where you manage settings and features across all workspaces. One instance can have several workspaces.
This is from the Instance settings that you can see on which Windmill version your instance is running.
Admins workspace
The Admins workspace is for superadmins only and contains scripts whose purpose is to manage your Windmill instance, such as keeping resource types up to date or the New User Setup App.
The resources types created from the Admins workspace are shared across all workspaces.
You can access it from the list of workspaces or from Instance settings.
Global Users
Global Users are users of the Windmill instance. They are not associated with any workspace and can be assigned to any workspace (from the workspace settings).
From there you can manually add a user to the instance, giving an email and a password. Users can be set to User or Superadmin roles.
You can also enable automatic username creation from emails. Usernames will be shared accross workspaces. We recommend setting it to avoid duplicated usernames.
A more common way to add users is to use SSO/OAuth.
For each user, you can see Email, Auth (manually-set password or Auth methods), name and role.
Core
Base url
The base URL is the public base url of the instance.
If the base URL is not set correctly, some server-side generated URLs like resume URLs will be incorrect. Additionally, OAuth and SSO functionalities will not work properly.
Email domain
Domain to display in webhooks for email triggers (should match the MX record).
Request size limit in MB
Maximum size of HTTP requests in MB. Cloud only.
Default timeout
Default timeout for individual jobs, in seconds.
You will find a helper to convert days, hours, minutes, and seconds to seconds.
Note that you can set a custom timeout for flow steps.
Max timeout for sync endpoints
Maximum amount of time (measured in seconds) that a sync endpoint is allowed to run before it is forcibly stopped or timed out.
You will find a helper to convert days, hours, minutes, and seconds to seconds.
License key
The license key is used to enable Enterprise Edition. You can get one by starting a free trial from the pricing page or by contacting us at [email protected]
To see how to upgrade your instance to Enterprise Edition, see the Upgrade to Enterprise Edition docs.
From there you also have two buttons:
Renew key
: to renew the license key (as long as you have a valid subscription). Anyway, the key is automatically renewed everyday as long as your subscription is valid.Open customer portal
: the recommended way to access the Customer portal where you can manage your subscription.
If your subscription is active, the key is automatically renewed everyday. A key is typically valid for 35 days.
Non-prod instance
Whether we should consider the reported usage of this instance as non-prod.
It is useful to avoid counting the usage of a non-prod instance in the billing.
This setting is only available on Enterprise Edition.
Retention period in secs
How long to keep the jobs data (especially the audit logs) in the database (max 30 days on Community Edition).
You will find a helper to convert days, hours, minutes, and seconds to seconds.
This setting is only available on Enterprise Edition.
Expose metrics
Expose Prometheus metrics for workers and servers on port 8001 at /metrics.
This setting is only available on Enterprise Edition.
Instance object storage
Connect your instance to a S3 bucket to store large logs and global cache for Python and Go.
This feature has no overlap with the Workspace object storage.
You can choose to use either S3 or Azure Blob Storage. For each you will find a button to test settings from a server or from a worker.
This setting is only available on Enterprise Edition.
Critical alert channels
Channels to send critical alerts to. SMTP must be configured for the email channel. A Slack workspace must be connected to the instance for the Slack channel.
You can add multiple channels between Email and Slack.
This setting is only available on Enterprise Edition.
Azure OpenAI base path
All Windmill AI features will run on the specified deployed model. Format: https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}
.
This setting is only available on Enterprise Edition.
Private Hub base url
Base url of your private Hub instance, without trailing slash.
This setting is only available on Enterprise Edition.
SSO/OAuth
Windmill supports SSO/OAuth for user authentication. You can enable it from the Instance settings.
Single Sign On
When at least one of the SSO options is set, users will be able to login to Windmill via their third-party account.
To test SSO, the recommended workflow is to to save the settings and try to login in an incognito window.
You can add a custom SSO client by providing a client id.
Also, from the instance settings you can enable toggle 'Require users to have been added manually to Windmill to sign in through OAuth'.
Without Enterprise Edition, the number of SSO users is limited to 10.
OAuth
When one of the OAuth options is set, you will be able to create a specific resource containing a 'token' automatically generated by the third-party provider. To test it after setting an oauth client, go to the Resources menu and create a new one of the type of your oauth client (i.e. a 'github' resource if you set GitHub OAuth).
Registries
Add private registries for Pip, Bun and npm.
These settings are only available on Enterprise Edition.
Pip Index Url
Add private PIP registry.
Pip Extra Index Url
Add private extra PIP registry.
Npm Config Registry
Add private NPM registry.
Bunfig Install Scopes
Add private scoped registries for Bun, See: https://bun.sh/docs/install/registries.
SMTP
Setting SMTP unlocks sending emails upon adding new users to the workspace or the instance and sending critical alerts.
You need to provide the following details:
Name | Type | Description |
---|---|---|
Host | String | SMTP server host |
Port | Number | SMTP server port |
Username | String | SMTP server user |
Password | String | SMTP server password |
From Address | String | Email address to send emails from |
Implicit TLS | Boolean | Use implicit TLS (default: false) |
You have another field to test the SMTP settings.
Set-up SMTP from the .env
file (depreciated)
The relevant environment variables are:
[email protected]
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=app_password
If you used the Setup Windmill on localhost method, open the .env
file in any text editor. You can use nano
, vim
, or any other editor you're comfortable with.
nano .env
Append the following to the end of your .env
file:
[email protected]
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your_app_password
Make sure to replace [email protected]
with your actual Gmail email address and your_app_password
with the app password you've generated from Gmail.
Note: If you're using Gmail, you'll need to generate an App Password to use as
SMTP_PASSWORD
. This is a unique password that Gmail provides for apps and services that want to connect to your account.
Save and Close the File:
- If using
nano
, pressCTRL + O
to save and thenCTRL + X
to exit. - If using
vim
, pressEsc
, then type:wq
and pressEnter
.
Restart your Windmill application:
- Since you've made changes to the
.env
file, you'll need to restart your Windmill application for the changes to take effect.
docker compose down
docker compose up -d
Now, your Windmill instance should use the SMTP settings you've provided to send invites and email to manually added users. Make sure the SMTP details you've provided are correct and that the Gmail account you're using has allowed less secure apps or generated an App Password.
Set up Auto-Invites
When creating a workspace, you have the option to invite automatically everyone on the same domain. That's how you make sure that anyone added to the instance is also added to the workspace.
Slack
Connecting your instance to a Slack workspace enables critical alerts to be sent to a Slack channel.
Just click on the 'Connect to Slack' button and follow the instructions from Slack.
This setting is only available on Enterprise Edition.
SCIM/SAML
Windmill supports SCIM and SAML for user provisioning and authentication.
You can test settings with button 'Test content/url'.
These settings are only available on Enterprise Edition.
SCIM token
Token used to authenticate requests from the IdP.
SAML metadata
XML metadata url OR content for the SAML IdP.
Debug
Enable debug mode to see additional logs.
Keep job directories
Toogle to keep Job directories after execution at /tmp/windmill/<worker>/<job_id>
.
Expose debug metrics
Expose additional metrics (require metrics to be enabled).
Telemetry
Anonymous usage data is collected to help improve Windmill.
The following information is collected:
- version of your instance
- number and total duration of jobs
- accounts usage
- login type usage
- workers usage
- vCPUs usage
- memory usage
From the instance settings, you can manually send usage or disable telemetry.
Under Enterprise Edition (self-hosted), telemetry (only on the ) is mandatory to ensure usage correctly matches the subscription.