SSL using Docker
For SSL/HTTPS support, you would need to place a reverse proxy in front of FileRun.
Here's an example: HAProxy on Ubuntu
Make sure your reverse proxy passes HTTP_X_FORWARDED_PROTO
, HTTP_X_FORWARDED_SSL
and HTTP_X_FORWARDED_PORT
. FileRun looks for any of these to determine if the URLs should start using HTTP or HTTPS and to forward requests via the correct HTTP port.
When using NGINX, just add this line in your conf file, in the location
block: proxy_set_header X-Forwarded-Proto https;
Using Nginx Proxy Manager
More info about NPM here: https://nginxproxymanager.com
Assuming you have already installed FileRun using Docker and docker-compose, simply add the new service
to your docker-compose.yml
file:
proxy: image: 'jc21/nginx-proxy-manager:latest' container_name: npm ports: - '80:80' - '81:81' - '443:443' volumes: - /filerun/proxy/data:/data - /filerun/proxy/letsencrypt:/etc/letsencrypt
Additionally, make sure the FileRun container runs on a non-default port, such as 8080:
filerun: image: filerun/filerun ports: - "8080:80"
And fire it up:
docker-compose up -d
Make sure FileRun is up and running (http://your-site:8080)
Access Nginx Proxy Manager
admin console in your browser by port number 81
(http://your-site:81)
Use the default credentials to sign in:
Email: admin@example.com Password: changeme
Go to Hosts
→ Proxy Hosts
and click Add Proxy Host
.
If FileRun runs on a different server, fill with the IP of your FileRun installation and the customized port number (8080
).
If you're running via the same docker-compose file, use the hostname web
and port number 80
and the proxying will be done via the local Docker network.
Under the SSL
tab, choose Request a new SSL certificate
And click Save
NPM should take care of the rest, fetching a SSL certificate for you, installing it, and configuring an SSL proxy to your FileRun installation.
You should now be able to open https://your-site.com/filerun/ in your browser.
At the time of writing this guide, NPM has a bug which causes the reported PORT number to be wrong. Please see the discussion and suggested workaround here: https://feedback.filerun.com/en/communities/1/topics/1364-nginx-proxy-manager-wan-access-lan-access
Additionaly, you might need to add the this custom configuration to the reverse proxy under the Advanced
tab.