Hosting settings
Information about Budibase hosting settings
You can run Budibase on your own infra using:
Every self-hosted Budibase platform comes by default with some settings which we recommend you familiarise yourself with as well as updating to suit your needs. All of these settings are passed to your cluster through the use of environment variables. In this section, we'll cover the purpose of each of these.
It should be noted that if you wish to modify any of these settings then you will need to restart your Budibase platform for it to recognise these new settings. If you have been running it already then changing some of these settings may affect the user experience, for example changing the JWT_SECRET will log everyone out.
The full set of variables can be found in our repo, in the file .env which should be included in your hosting solution:
Variable | Description |
---|---|
MAIN_PORT | The main port that your platform will run on, we have exposed this in case you need to change this. |
HOSTING_KEY | To secure your app deployments we have introduced a key, which can be used to essentially password protect your Budibase platform. This means that only users with the key will be able to deploy from their builder. |
JWT_SECRET | A secret used to secure the JSON Web Tokens (JWT) generated by the platform for user authentication. We recommend changing this to a UUID. |
MINIO_ACCESS_KEY | The platform makes use of the open-source S3 alternative Minio for object storage, this specifies the access key used to secure the cluster. We recommend changing this. |
MINIO_SECRET_KEY | This is another component used to secure Minio. We recommend changing this. |
COUCH_DB_USER | The username used to secure your hosted CouchDB service. We recommend changing this. |
COUCH_DB_PASSWORD | The password used to secure your hosted CouchDB service. We recommend changing this. |
SQL_MAX_ROWS | By default the maximum number of rows returned by a SQL query is 5000, but you can use this variable to change that. Please note this limit includes any related rows returned, the total number of rows retrieved per query must be below this number. |
HTTP_MB_LIMIT | The maximum file upload size in MB for attachments. The default is 20MB. |
SESSION_EXPIRY_SECONDS | The number of seconds an inactive user session will be kept alive before the user is logged out. The default is one week. |
BB_ADMIN_USER_EMAIL | If you have lost access to your self host installation, or wish to bring a new install online with a default administration account you can use this environment variable to configure their username. |
BB_ADMIN_USER_PASSWORD | The password for the default administration account, used in conjunction with the BB_ADMIN_USER_EMAIL environment variable. |
SQL_LOGGING_ENABLE | This environment variable can be set on the apps service to log the queries that are being made to SQL databases. This can help diagnose if any issues are occurring. |
API_REQ_LIMIT_PER_SEC | By default Budibase will limit the number of requests that can be made to the public API, this will be limited to 10 requests per second. This can be increased by setting this environment variable on the app service. |
DISABLE_RATE_LIMITING | By default Budibase will protect its API from individual clients making too many requests and causing a degradation in performance for other users, this can be disabled via the app service with this environment variable. |
PROXY_RATE_LIMIT_API_PER_SECOND | An advanced setting which can be set on the proxy service of Budibase, this defines the maximum requests per second that can be made to the API through the proxy - the default to 20. |
PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND | Same as above setting, can be set on the proxy service, this defines how many automation webhook calls can be made per second - the default is 10. |
QUERY_THREAD_TIMEOUT | Queries from the app service by default will timeout if they take more than 15000 milliseconds to complete. This environment variable can be set to a number of milliseconds to increase or decrease this timeout. |
AUTOMATION_THREAD_TIMEOUT | Automation steps ran by the app service can take a maximum of 15000 milliseconds to complete before they will timeout. This environment variable can be set to increase or decrease this per step timeout. |
Other settings in the file do not need to be changed but are simply provided in case you which to change the port a service is made available on, we provide access to all the various services our cluster uses directly on a port number for administration purposes (e.g. logging into Fauxton on CouchDB).
Updated 5 months ago