Skip to content

Reverse Proxy Setup

To use Spokes securely over the internet, you must put it behind a reverse proxy to handle HTTPS encryption. Here are instructions for the two most common options.

Nginx Proxy Manager (NPM) provides a simple web interface for handling SSL certificates and reverse proxying.

  1. Open your NPM dashboard and navigate to Proxy Hosts.
  2. Click Add Proxy Host.
  3. Details Tab:
    • Domain Names: spokes.yourdomain.com
    • Scheme: http
    • Forward Hostname / IP: The internal IP address of your Spokes server (e.g., 192.168.1.50).
    • Forward Port: 8080 (or your custom Web UI port).
    • Block Common Exploits: Enable
    • Websockets Support: Enable (Crucial! Spokes relies heavily on WebSockets for real-time chat and LiveKit signaling).
  4. SSL Tab:
    • Select Request a new SSL Certificate.
    • Check Force SSL.
    • Check HTTP/2 Support.

Nginx Proxy Manager Configuration

  1. Click Save.

Your Spokes instance is now securely accessible via HTTPS!

Cloudflare Tunnels are an excellent way to expose your Spokes Web UI securely without opening inbound ports on your router for web traffic.

  1. Create a tunnel in the Cloudflare Zero Trust dashboard.
  2. Install the cloudflared connector on your Docker host.
  3. In the Public Hostname configuration:
    • Subdomain: e.g., spokes
    • Domain: yourdomain.com
    • Service Type: HTTP (or HTTPS if your host proxy handles SSL locally)
    • URL: localhost:8080 (or your custom Web UI port).