Environment Variables
Environment variables play a crucial role in configuring different aspects of your Appsmith instance, such as authentication, defining logging levels, customizing email settings, and more. This page provides a detailed description of each environment variable along with its purpose and usage.
Google OAuth
The following environment variables help in configuring OAuth 2.0 authentication with Google, enabling seamless login experiences and allowing Appsmith applications to authenticate users with their existing Google credentials.
APPSMITH_OAUTH2_GOOGLE_CLIENT_ID
APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET
GitHub OAuth
The following environment variables help in configuring OAuth 2.0 authentication with GitHub, enabling seamless login experiences and allowing Appsmith applications to authenticate users with their existing GitHub credentials.
APPSMITH_OAUTH2_GITHUB_CLIENT_ID
APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET
OIDC OAuth
The following environment variables help in configuring OAuth 2.0 authentication with your OIDC provider, enabling seamless login experiences and allowing Appsmith applications to authenticate users with their existing OIDC credentials.
APPSMITH_OAUTH2_OIDC_CLIENT_ID
APPSMITH_OAUTH2_OIDC_CLIENT_SECRET
Form Login and Signup
With Appsmith, you can manage user access and authentication methods in your instance. This helps streamline logins and control who can create accounts on the platform.
APPSMITH_FORM_LOGIN_DISABLED
Set to true
to turn off the default username and password login. Useful for administrators who want to enforce Single Sign-On (SSO) or limit authentication methods for added security and control.
APPSMITH_SIGNUP_DISABLED
Set to true
to stop new user account creation. Useful when you want to restrict access to your Appsmith instance, allowing only users who have been specifically invited to join.
Client logging
Appsmith provides a way to enhance the log levels of your applications, aiding in monitoring client-side operations and troubleshooting issues. The following environment variable helps define the verbosity level of the logs that Appsmith will generate for client-side activities.
APPSMITH_CLIENT_LOG_LEVEL
debug
: Provides informational logs useful for debugging. Set the level to0
to turn on thedebug
log level.error
: Logs error events that might signify a problem and warrant investigation. Set the level to1
to turn on theerror
log level.
Email server
Configure your email server in Appsmith to handle application emailing needs. The following environment variables enable you to set up and manage these email-related capabilities for your Appsmith instance.
APPSMITH_EMAIL_ENABLED
Controls whether Appsmith can send emails. Use true
to enable email capabilities or false
to disable it.
APPSMITH_EMAIL_SERVER_HOST
Specifies the host address of the email server that Appsmith will use to send emails. This is part of the SMTP server configuration necessary for email delivery. Set this variable to the fully qualified domain name or IP address of your email server.
APPSMITH_EMAIL_SERVER_PORT
Indicates the port number on which the email server is listening. Different services use different ports; for example, port 25 for non-encrypted transport, 587 for submission with StartTLS, and 465 for SMTPS (deprecated). Select the appropriate port that corresponds to your email server's setup and protocols.
APPSMITH_EMAIL_SERVER_USERNAME
Used to authenticate with the email server and allows logging into your SMTP server. Provide the username configured at your email server for sending emails.
APPSMITH_EMAIL_SERVER_PASSWORD
The password corresponds to the username for the SMTP server. You must protect the secret as it grants access to your email-sending capabilities. Enter the password associated with your APPSMITH_EMAIL_SERVER_USERNAME
to authenticate with the email server.
APPSMITH_EMAIL_FROM_ADDRESS
This is the email address displayed in the From field of the emails sent through Appsmith, essentially representing who the email is from. Set this to a valid email address that recipients of your emails can recognize and associate with.
APPSMITH_EMAIL_REPLY_TO_ADDRESS
The ReplyTo address is the email displayed in the response field of Appsmith emails, indicating where replies will be sent. Set this to a valid email address that recipients can recognize and associate with the response destination.
APPSMITH_SMTP_AUTH_ENABLED
APPSMITH_TLS_ENABLED
Telemetry
Monitoring the performance of your Appsmith instance is crucial for making informed decisions about feature improvements and resource allocation.
APPSMITH_TELEMETRY_ENABLED
Controls whether Appsmith sends telemetry data to its servers. You may choose to turn off the setting if it conflicts with your privacy policies or preferences. Set to true
to allow Appsmith to collect anonymous telemetry data or false
to opt out.
Google reCAPTCHA
Ensure the safety of your applications and data by configuring security settings, including reCAPTCHA, to safeguard your instance against automated threats. Use the environment variables below to manage these settings:
APPSMITH_RECAPTCHA_ENABLED
APPSMITH_RECAPTCHA_SITE_KEY
APPSMITH_RECAPTCHA_SECRET_KEY
Database and session management
Appsmith can connect to external providers for MongoDB and Redis. The associated environment variables ensure that Appsmith establishes a connection to external hosting rather than using the embedded MongoDB or Redis servers.
APPSMITH_MONGODB_URI
APPSMITH_MONGODB_USER
APPSMITH_MONGODB_PASSWORD
Sets the password associated with the MongoDB user specified in APPSMITH_MONGODB_USER
. This password is crucial for secure authentication, allowing Appsmith to connect and interact with the external MongoDB instance securely.
APPSMITH_REDIS_URL
APPSMITH_ENCRYPTION_PASSWORD
APPSMITH_ENCRYPTION_SALT
Custom Domain
If you prefer to host your Appsmith instance on a personalized domain, you can do so by setting up a custom domain. Appsmith also provisions an SSL certificate through Let’s Encrypt, securing your application with HTTPS.
APPSMITH_CUSTOM_DOMAIN
Supervisord
Access the Supervisord web interface seamlessly through Appsmith by setting login credentials using environment variables. Securely control your background processes, ensuring reliable application management.
APPSMITH_SUPERVISOR_USER
APPSMITH_SUPERVISOR_PASSWORD
Sets the password associated with the Supervisord user specified in APPSMITH_SUPERVISOR_USER
. This password is essential for secure authentication, enabling Appsmith to manage and control background processes seamlessly through Supervisord.
Schedule automatic backups
In Appsmith, you have the flexibility to automate backups for your self-hosted instance. You can use the cron expression to schedule regular backups.
APPSMITH_BACKUP_CRON_EXPRESSION
Specify a 5-value
cron expression to define the schedule for automatic backups. This allows you to tailor the backup frequency according to your preferences.
Server timeout
Adjust the internal server timeout to optimize performance based on your Appsmith instance's load and expected response times.
APPSMITH_SERVER_TIMEOUT
Specifies the internal Appsmith server timeout in seconds. Defaults to a 60
second timeout. Increase or decrease based on your server's load and expected response times.