← Supermate

Connect Supermate to your server

Supermate talks directly to your TeslaMateApi for your car data — no server of ours sits in between. This is how to let your iPhone reach it safely, without opening a port on your router. About ten minutes.

Never expose port 8080 straight to the internet. A raw http://your-ip:8080 forwarded on your router puts your car's whole history one guess away from anyone scanning. Everything below reaches the container privately instead — that is the whole point.

Before you start

Tailscale Recommended

A private network between your devices. Nothing is exposed publicly; your phone and your server just see each other. Free for personal use.

Cloudflare Tunnel

A public HTTPS hostname for your API, with no open router port. Needs a domain on Cloudflare and a little more setup.

Method A — Tailscale

  1. Install Tailscale on the machine that runs TeslaMate. On most Linux hosts:
    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up
    Sign in when prompted (a free account). On Synology, Unraid, etc. install the Tailscale package/app instead.
  2. Install Tailscale on your iPhone from the App Store and sign in with the same account.
  3. Turn on MagicDNS. In the Tailscale admin → DNS, enable MagicDNS. Your server now has a stable name like myserver.tailnet-name.ts.net (you'll see it on the Machines page).
  4. That's the tunnel. Your phone can now reach the server privately, at home or anywhere. In Supermate, use:
    http://myserver.tailnet-name.ts.net:8080
    iOS allows plain http:// to .ts.net names, so no certificate is needed. If TeslaMateApi runs in Docker, it's reachable at the host's Tailscale name on its published port 8080.

Method B — Cloudflare Tunnel

Use this if you want a public HTTPS address (e.g. teslamate.example.com). You need a domain managed on Cloudflare (the free plan is fine).

  1. Install cloudflared on the machine that runs TeslaMate and log in:
    cloudflared tunnel login
  2. Create a tunnel and route a hostname to it:
    cloudflared tunnel create teslamate
    cloudflared tunnel route dns teslamate teslamate.example.com
  3. Run the tunnel pointing at the API (port 8080 on the same host):
    cloudflared tunnel run --url http://localhost:8080 teslamate
    For a permanent setup, run cloudflared as a service or add it to your docker-compose.yml. Full reference: Cloudflare Tunnel docs.
  4. Recommended: put the hostname behind Cloudflare Access so only you can reach it, on top of the API token.
  5. In Supermate, use the HTTPS address (no port needed):
    https://teslamate.example.com

Finish in Supermate

  1. Open Supermate. On the first screen, choose “I already run TeslaMateApi.”
  2. Enter the address from your method above. On the same Wi-Fi as your server, “Find my server on this Wi-Fi” can fill it in for you.
  3. Paste your API_TOKEN as the token, then connect and pick your car. Your history syncs to the phone and opens with no connection after that.

Just want to look first? On the first screen tap “I'm just looking around” to explore the whole app with sample data — no server needed.

If it won't connect