Reach your server from anywhere
The server itself speaks plain HTTP. Choose how your devices reach it when they leave your home network.
10 min · Updated 26 October 2026
- 1
Pick one
Your own domain with Caddy reaches it from anywhere, with a certificate that renews by itself. You need a domain name and ports 80 and 443 reachable from the internet.
Tailscale is private and opens no ports: only your own devices, signed in to your tailnet, can reach it. Home network only needs nothing, but syncs only at home.
- 2
Option A: your own domain, with Docker Compose
Point a DNS name such as
photos.example.comat the machine and open ports 80 and 443. This one file starts the server and Caddy, which gets the certificate by itself.LIGHTCRAFT_BIND=127.0.0.1keeps port 8080 private so only Caddy reaches the server.Terminal curl -LO https://raw.githubusercontent.com/elrumo/lightcraft/main/apps/lightcraft-server/docker-compose.hub.yml LIGHTCRAFT_BIND=127.0.0.1 LIGHTCRAFT_DOMAIN=photos.example.com \ docker compose -f docker-compose.hub.yml --profile https up -d - 3
Option B: Tailscale
Turn on MagicDNS and HTTPS certificates in your tailnet’s admin console, start the container on
127.0.0.1:8080(-p 127.0.0.1:8080:8080), then publish it on your tailnet:Terminal tailscale serve --bg 8080 # https://<this machine>.<your tailnet>.ts.net - 4
What to type in LightBites
The address, as a device sees it:
https://photos.example.com,https://nas.your-tailnet.ts.net, orhttp://192.168.1.20:8080at home. A bare name on your home network or tailnet meanshttp://; a public name meanshttps://.