Using CAAL Outside Home Network #79
Replies: 4 comments 16 replies
-
|
Hey @nerd8east-a11y , Tailscale is the easiest way to access CAAL remotely. It creates an encrypted WireGuard tunnel that makes your devices act like they're on the same LAN. You need Tailscale installed on both devices. Two setup options: Option 1: Simple (recommended)Just point CAAL at your Tailscale IP. No TURN, no special certs needed — Tailscale provides direct connectivity so it behaves like a LAN. Still works locally too (Tailscale routes on-network traffic directly). # 1. Install Tailscale on your server and client devices
# https://tailscale.com/download
# 2. Delete old self-signed certs (they're issued for your LAN IP)
rm ./certs/server.*
# 3. Update .env
CAAL_HOST_IP=<your-tailscale-ip> # tailscale ip -4
# Leave HTTPS_DOMAIN commented out
# 4. Restart (no rebuild needed — certs and config are volume-mounted)
docker compose down && docker compose up -d
# 5. Access from any Tailscale device:
# https://<tailscale-ip>:3443
# Accept the self-signed cert warning in your browserOption 2: Dual-access (LAN + remote, no browser warnings)Keep your LAN IP for local use, add Tailscale domain for remote. This enables LiveKit's TURN relay so media streams work even when the client can't reach the LAN IP. Requires real Tailscale certs because TURN/TLS silently rejects self-signed. # 1. Install Tailscale
# https://tailscale.com/download
# 2. Enable HTTPS certs on your tailnet
# Tailscale Admin → DNS → Enable HTTPS
# 3. Generate trusted certs
tailscale cert your-machine.tailnet.ts.net
cp your-machine.tailnet.ts.net.crt ./certs/server.crt
cp your-machine.tailnet.ts.net.key ./certs/server.key
# 4. Update .env
CAAL_HOST_IP=192.168.x.x # keep your LAN IP
HTTPS_DOMAIN=your-machine.tailnet.ts.net # uncomment and set
# 5. Restart
docker compose down && docker compose up -d
# 6. Access:
# Local: https://<lan-ip>:3443 (self-signed warning)
# Remote: https://your-machine.tailnet.ts.net:3443 (no warning)Cheers! |
Beta Was this translation helpful? Give feedback.
-
|
Yep they need to be named server.crt and server.key. |
Beta Was this translation helpful? Give feedback.
-
|
Hi Corey, thank you for your great work, I really appreciate what you've done with the CAAL project. My problem is that using Tailscale with the Android app, I can't get CAAL to work. I used Option 2 (LAN + Tailscale) and I keep getting this error: "Connection failed: LiveKitException: [ConnectException] Timed out waiting for SignalJoinResponseEvent." I can connect to CAAL just fine using the mobile browser, but not with the app. Any ideas? |
Beta Was this translation helpful? Give feedback.
-
|
Hey guys — found the issue and pushed a fix. Turns out TURN relay (which mobile devices need for remote connections) was silently broken. Two things were wrong:
I tested this from Mexico on my iPhone over Tailscale and it's working now. To update: git pull
docker compose up -d livekitOne thing to note — port 443 needs to be free on your server. If something else is using it, you can set More details in the discussion post: #84 @qmmatei-boop your @nerd8east-a11y I still owe you that Tailscale setup walkthrough. For now the short version: set Corey |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Corey, I was wondering if you use CAAL outside of your local home network. What do you recommend as a good way to be able to do that? Thanks.
Beta Was this translation helpful? Give feedback.
All reactions