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;
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:
1proxy:
2 image: 'jc21/nginx-proxy-manager:latest'
3 container_name: npm
4 ports:
5 - '80:80'
6 - '81:81'
7 - '443:443'
8 volumes:
9 - /filerun/proxy/data:/data
10 - /filerun/proxy/letsencrypt:/etc/letsencrypt
Additionally, make sure the FileRun container runs on a non-default port, such as 8080:
1filerun:
2 image: filerun/filerun
3 container_name: filerun
4 ports:
5 - "8080:80"
And fire it up:
1docker-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)
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
filerun (your FileRun container name - defined by container_name) and port number 80 (FileRun's default port number) 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 in your browser.
Without the correct HTTP Host header being forwarded from NPM to the FileRun server, FileRun won't know that it is being accessed via a domain name.
Click the cog icon to access the Advanced configuration tab.
Paste the following inside:
1proxy_set_header Host $host;
2proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3proxy_set_header X-Forwarded-Proto $scheme;
4proxy_set_header X-Forwarded-Protocol $scheme;
5proxy_set_header X-Forwarded-Port $server_port;
In the same place as above, paste also this line:
1proxy_request_buffering off;
This will enable streaming and allow you to resume uploads from the exact byte where it was interrupted.