Category: Installation
Updated

This solution is summarized from an archived support forum post. This information may have changed. If you notice an error, please let us know in Discord.

How can I setup App Smith docker compose behind NGINX SSL

Issue

I am trying to set up App Smith behind a reverse proxy with SSL, with NGINX routing the traffic. I have my App Smith docker running on port 3500, and have configured NGINX to proxy_pass to this port. However, I'm having trouble getting SSL to work. Also, I learned that hosting Appsmith on a sub-path is not currently supported and it's recommended to use a subdomain instead.

Resolution

Unfortunately, hosting Appsmith on a sub-path is not currently supported. The recommended solution is to host Appsmith on a subdomain that is dedicated only to Appsmith and can be hosted at the / path.

If you still wish to proceed with hosting Appsmith on a sub-path, you will need to modify your NGINX configuration accordingly. Here is an example configuration:

location /appsmith {
proxy_pass http://localhost:3500;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;
include /path/to/options-ssl-nginx.conf;
location /appsmith {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_pass http://localhost:3500;
}
}

In this configuration, NGINX listens for requests on the main domain, and forwards all requests to the /appsmith path to the Appsmith Docker container running on port 3500. The SSL certificate and key are also configured for secure communication.

It is important to note that hosting Appsmith on a sub-path may cause issues in the future, as this functionality is not officially supported by Appsmith. Consider hosting Appsmith on a subdomain instead to avoid any potential issues.