SOLFIND
Web Lens
Portal home

Custom Domain and SSL | Appsmith

https://docs.appsmith.com/getting-started/setup/instance-configuration/custom-domain • 56 KB fetched
Open original page


Custom Domain and SSL | Appsmith

Skip to main content

Ask AI
Search

Ask Appsmith AI Submit message

Examples How do I install Appsmith using Docker? How do I connect to my local PostgreSQL database? How do I pass inputs from a widget to a query? How do I trigger multiple queries conditionally? How do I fix the error: This value does not evaluate to type Array<Object>?

Search

Try Appsmith

* Get Started

* Introduction

* Build Your First App

* Self Hosting

* New Installation Guides

* Manage Installation

* High Availability Guides

* Authentication Guides

* Helm Chart

* Custom Domain and SSL Guides

* Custom Domain and SSL

* Custom CA Root Certificate

* Email Setup Guides

* Backup and Restore Guides

* Other Configuration Guides

* Reference

* Upgrade Installation Guides

* Concepts

* Connect Data

* Overview

* How-to Guides

* Reference

* Datasources

* Query Settings

* Concepts

* Build Apps

* Overview

* Quickstart

* How-to Guides

* Reference

* Widgets

* Accessibility

* Theme

* Sample Apps

* Write Code

* Overview

* How-to Guides

* Reference

* Global Objects

* Global Functions

* JS Libraries

* Fetch API

* Data Transformation

* JavaScript Settings

* Concepts

* Best Practices

* Manage Apps and Users

* Authentication

* Granular Access Control

* Versioning with Git

* Setup SCIM Provisioning

* Embed Appsmith

* Migrate Applications

* Audit Logs

* Branding

* External Client Portal

* Packages

* Overview

* Tutorial

* How-to Guides

* Reference

* Package Version Control

* GIT Apps with Packages Best Practices

* Code Packages

* UI Packages

* Workflows

* Overview

* Tutorial

* How-to Guides

* Reference

* Workflow Triggers

* Workflow Queries

* Workflow Functions

* Pass Parameters to Workflows

* Run History

* Troubleshooting

* Overview

* Self-hosting Errors

* Application Errors

* Product

* FAQ

* Security

* Telemetry

* Support at Appsmith

* Privacy Policy

* Release Notes

* Contribute

© 2026 Appsmith, Inc.

*

* Self Hosting

* Manage Installation

* Custom Domain and SSL Guides

* Custom Domain and SSL
On this page
Custom Domain and SSL

This page explains how to configure SSL for your custom domain on a self-hosted Appsmith instance, ensuring secure HTTPS connections for your applications.

info
For Kubernetes installations, see Ingress and TLS .

Prerequisites ​

Before configuring SSL for your custom domain, ensure you have the following:

* A self-hosted Appsmith instance installed. If not already installed, refer to the installation guides . This guide assumes you are working with an existing installation.

* A custom domain purchased from a domain provider, such as:

* GoDaddy

* Amazon Route 53

* Digital Ocean

* NameCheap

* Domain.com

* Ports 80 and 443 must be open and accessible. If using custom ports, ensure they are also open and accessible.

* Access to Admin Settings in your Appsmith instance.

Configure SSL ​

You can use your custom domain with the HTTP protocol, even if you haven’t set up an SSL certificate. To ensure secure connections using HTTPS, it’s recommended to configure SSL. You can choose from the following two methods:

Custom domain format
Enter only the domain or hostname—for example, apps.example.com or subdomain.example.com . Do not include a protocol ( http:// or https:// ), a port, a path, or a trailing slash.

* Set up Let’s Encrypt SSL certificate (recommended for most users)

* Set up a custom SSL certificate

SSL using Let’s Encrypt certificate ​

Attention
Let's Encrypt does not support provisioning a certificate for ephemeral domain names since they are high-risk.

Follow these steps to generate and maintain an SSL certificate for your custom domain using Let’s Encrypt:

*
Go to the Admin Settings in your Appsmith instance.

*
Click Instance settings from the left navigation.

*
Add your custom domain to the Custom Domain field as a plain hostname only (no http:// , https:// , port, path, or trailing slash).

*
Click the SAVE & RESTART button.

When Appsmith restarts, it will generate an SSL certificate for your custom domain. Access your Appsmith instance via HTTPS on port 443.

SSL using custom certificate ​

Follow these steps to configure SSL using a custom SSL Certificate:

*
Rename the certificate file as fullchain.pem and the key file as privkey.pem .

*
Verify that the private key file is valid by running the following command in the terminal:

openssl pkey -in privkey.pem -pubout -outform pem | sha256sum

Take a note of the hash generated by the command.

Prompted for a pass phrase? Expand for next steps Appsmith uses Caddy as its internal reverse proxy, and Caddy cannot load password-protected (encrypted) private keys. If you skip removing the passphrase, Caddy will fail to start and Appsmith will not be accessible over HTTPS.
Remove the passphrase before proceeding by running:
openssl pkey -in privkey.pem -out privkey-decrypted.pem
mv privkey-decrypted.pem privkey.pem

You will be prompted once for the existing passphrase. After this, re-run the verification command above to capture the hash.

*
Verify the public key in the certificate using this command:

openssl x509 -in fullchain.pem -pubkey -noout -outform pem | sha256sum

Verify the hash generated by above command with the hash generated by the command in step 2. Both checks produce matching hashes, confirming the integrity of the certificate and key pair.

*
Copy these files into the subdirectory <MOUNTING-DIRECTORY>/ssl/ . Ensure that you change <MOUNTING-DIRECTORY> by the mounting volume directory available in the docker-compose.yml . For example, the default value is ./stacks .

*
Go to the Admin Settings in your Appsmith instance. Under Instance settings , add your custom domain to the Custom Domain field as a plain hostname only (no http:// , https:// , port, path, or trailing slash), and click the SAVE & RESTART button. You can also set up the custom domain using a custom domain environment variable .

*
Open the terminal, go to the Appsmith installation directory, and restart the container using the below command:

docker-compose restart appsmith

The container uses the certificate present in the <MOUNTING-DIRECTORY>/ssl folder.

Troubleshooting ​

You may face SSL/TLS certificate error while configuring SSL, follow the below guide to troubleshoot:

* SSL/TLS Certificate Error

* Verify logs for errors. For more information, see Get Container logs guide.

If you continue to face issues, contact the support team using the chat widget at the bottom right of this page.

See also ​

* Configure Environment Variables : Learn how to configure environment variables, which may be necessary when setting up TLS and Appsmith in Kubernetes.

* Configure HTTP/HTTPS Proxy : Setup HTTP/HTTPS proxy if required for your deployment while configuring TLS or managing network traffic.

* Ingress and TLS : Learn how to configure ingress and TLS for Appsmith on Kubernetes.

* Install an SSL certificate on DigitalOcean : Follow this guide to configure SSL for your DigitalOcean Droplet.

Was this page helpful?

Edit this page

Previous
Redis Authentication
Next
Custom CA Root Certificate

* Prerequisites

* Configure SSL
* SSL using Let’s Encrypt certificate

* SSL using custom certificate

* Troubleshooting

* See also

Links found on this page

  1. Skip to main content [direct]
  2. Try Appsmith [direct]
  3. Get Started [direct]
  4. Build Your First App [direct]
  5. Self Hosting [direct]
  6. New Installation Guides [direct]
  7. Manage Installation [direct]
  8. High Availability Guides [direct]
  9. Authentication Guides [direct]
  10. Helm Chart [direct]
  11. Custom CA Root Certificate [direct]
  12. Email Setup Guides [direct]
  13. Backup and Restore Guides [direct]
  14. Other Configuration Guides [direct]
  15. Reference [direct]
  16. Upgrade Installation Guides [direct]
  17. Concepts [direct]
  18. Connect Data [direct]
  19. How-to Guides [direct]
  20. Reference [direct]
  21. Query Settings [direct]
  22. Concepts [direct]
  23. Build Apps [direct]
  24. Quickstart [direct]
  25. How-to Guides [direct]
  26. Reference [direct]
  27. Widgets [direct]
  28. Accessibility [direct]
  29. Theme [direct]
  30. Sample Apps [direct]
  31. Write Code [direct]
  32. How-to Guides [direct]
  33. Reference [direct]
  34. Global Objects [direct]
  35. Global Functions [direct]
  36. JS Libraries [direct]
  37. Fetch API [direct]
  38. Data Transformation [direct]
  39. JavaScript Settings [direct]
  40. Concepts [direct]
  41. Best Practices [direct]
  42. Granular Access Control [direct]
  43. Versioning with Git [direct]
  44. Setup SCIM Provisioning [direct]
  45. Embed Appsmith [direct]
  46. Migrate Applications [direct]
  47. Audit Logs [direct]
  48. Branding [direct]
  49. External Client Portal [direct]
  50. Packages [direct]
  51. Tutorial [direct]
  52. How-to Guides [direct]
  53. Reference [direct]
  54. GIT Apps with Packages Best Practices [direct]
  55. Code Packages [direct]
  56. UI Packages [direct]
  57. Workflows [direct]
  58. Tutorial [direct]
  59. How-to Guides [direct]
  60. Reference [direct]
  61. Workflow Queries [direct]
  62. Workflow Functions [direct]
  63. Pass Parameters to Workflows [direct]
  64. Run History [direct]
  65. Troubleshooting [direct]
  66. Self-hosting Errors [direct]
  67. Application Errors [direct]
  68. Product [direct]
  69. Security [direct]
  70. Telemetry [direct]
  71. Support at Appsmith [direct]
  72. Privacy Policy [direct]
  73. Release Notes [direct]
  74. Contribute [direct]
  75. Ingress and TLS [direct]
  76. GoDaddy [direct]
  77. Amazon Route 53 [direct]
  78. Digital Ocean [direct]
  79. NameCheap [direct]
  80. Domain.com [direct]