Skip to content

Cloudflared

Brett Petch edited this page Mar 20, 2025 · 9 revisions

A frequently asked question we get from customers is if we have support for cloudflared. At the time of writing, we don't officially support it, but it can be installed using a script a community member has written.

Cloudflared an easy way to host a cloudflare proxied webserver on shared infrastructure.

Cloudflare Configuration

Adding a site to Cloudflare

While outside of the scope of this guide, here is how you'd migrate your domain to use cloudflare's nameservers: Adding a Site to Cloudflare

Creating a Zero-Trust Organization

How Cloudflare Tunnels Work

Getting your Tunnel Token

Creating a Public Hostname Entry

Installation

Before installation, please consider reading the installer script. You can read it on the GitHub Repo. This application will NOT be supported at any point either on Discord or from the vendor. They can and will reset your entire slot if you run into issues and ask for assistance.

You can run the script by using the following command:

bash <(curl -sL "https://github.com/brettpetch/hosted-scripts/raw/master/cloudflared.sh")

:::tip If something goes wrong during your install, please consider checking the logs and the output in your console. You may find them by running the following:

less -r +G "$HOME/.logs/cloudflared.log"

These can be helpful in cases where you need to see the output from installation. :::

Troubleshooting

For most troubleshooting, please consider consulting the Cloudflared Documentation.

Note: THERE WILL BE NO SUPPORT FOR ANY ASPECT OF THIS APP FROM EITHER MYSELF OR THE VENDOR. IF YOU BREAK SOMETHING YOU ARE ON YOUR OWN.

Notes:

Jellyseerr

You can expose the overseerr or jellyseerr application by using its bind address and port. Your Jellyseerr port can be pulled from $HOME/jellyseerr/env.conf

Jellyseerr Configuration in Tunnel

Filebrowser

Hosted-Scripts Filebrowser Install

You can expose the Filebrowser application by using its bind address and port. Note that the URL input MUST be HTTPS and No TLS Verify must be enabled. To prevent access outside of the proxied domain, you will need to bind to your subnet. To do this, you can configure filebrowser in hosted-scripts using the script below.

systemctl --user stop filebrowser
filebrowser config set -a $(cat "$HOME/.install/subnet.lock") -l "$HOME/.config/Filebrowser/filebrowser.log" -d "$HOME/.config/Filebrowser/filebrowser.db"
systemctl --user start filebrowser

Filebrowser Configuration in Tunnel

Box Filebrowser Install

If you installed via box, ignore the above and use the same instructions that were used for jellyseerr. You will need to set to HTTP, and the subpath will be /filebrowser. Note that in an upcoming version of the script this may be unneeded and will be on /username/filebrowser without basic auth (instead relying on application auth as this config offers).

Exposing Other Services

You can expose other services via cloudflared (like the unofficial filebrowser).

To do this, you will need to know the ip of your subnet. You can find this by connecting to your slot via SSH, then running cat $HOME/.install/subnet.lock. You can then get the port for the application either from its interface or from the command line in $HOME/.config/ - the port will be located in the configuration files for the application and may be referenced as the HTTP or HTTPS port.

Additional Note: For these services, you may need to configure baseurl support. Note that you are responsible for any applications that you expose to the internet without authentication.

Clone this wiki locally