Home/DevOps & Cloud/tailscale-serve

tailscale-serve

Safe
DevOps & Cloud

tailscale-serve

SKILL.md

# Tailscale Serve Skill Manage multiple paths with `tailscale serve` without conflicts. ## Key Commands ### Check what's currently served ```bash tailscale serve status ``` ### Serve a directory or file at a specific path ```bash # Directory tailscale serve --bg --set-path /slides /path/to/directory # Single file tailscale serve --bg --set-path /presentation /path/to/file.html # Port (for running services) tailscale serve --bg --set-path /api http://localhost:8080 ``` ### Serve from a port at root (replaces everything) ```bash tailscale serve --bg 8888 ``` ### Remove a specific path ```bash tailscale serve --https=443 /slides off ``` ### Reset all serving ```bash tailscale serve reset ``` ## Important Notes - **Path conflicts:** Serving at `/` will override all other paths - **Background mode:** Use `--bg` to keep it running - **Multiple paths:** You can serve multiple things simultaneously with different paths - **Status first:** Always check `tailscale serve status` before adding new paths ## Common Patterns ### Serve presentation alongside control UI ```bash # If control UI is at /, serve presentation at a subpath tailscale serve --bg --set-path /slides ~/clawd/personal-agents-presentation.html # Access at: https://[hostname].ts.net/slides ``` ### Serve multiple directories ```bash tailscale serve --bg --set-path /docs ~/documents tailscale serve --bg --set-path /slides ~/presentations tailscale serve --bg --set-path /files ~/files ``` ### Serve a local dev server ```bash tailscale serve --bg --set-path /app http://localhost:3000 ``` ## Workflow 1. Check current status: `tailscale serve status` 2. Choose an unused path (e.g., `/slides`, `/docs`, `/api`) 3. Serve with `--set-path /your-path /source` 4. Verify with `tailscale serve status` again 5. Share the full URL: `https://[hostname].ts.net/your-path` ## Troubleshooting **"Can't access my served content"** - Check `tailscale serve status` - is it at the path you expect? - Did something else overwrite the root `/`? **"Want to replace everything with a port"** ```bash tailscale serve reset tailscale serve --bg 8888 ``` **"Want to add to existing setup"** ```bash # Don't use reset! Just add with --set-path tailscale serve --bg --set-path /newpath /source ```

More in DevOps & Cloud