Tutorial 5: Laptop + Always-On Mac Mini
Sessions live on the Mini; your laptop and phone are clients. No manual host configuration — ccmux auto-discovers every ccmuxd on your tailnet. Open the Network screen (7) to see every machine, color-coded by reachability.
Install ccmux on both computers and connect them to the same tailnet. Enable SSH access to the host and confirm your laptop can sign in before attaching to a remote session.
On the Mini
# ~/.config/ccmux/config.toml
[daemon]
listen_tailnet = true
tailnet_port = 7474
ccmux daemon install # register ccmuxd under launchd so it survives reboot
On the laptop
After completing the prerequisites above, open the dashboard:
ccmux # the Mini already appears on the dashboard, tagged "discovered"
Every refresh, ccmux runs tailscale status --json, probes each online peer for ccmuxd /v1/health, and merges responders into the host list.
Devices panel
The Dashboard’s right panel shows each tailnet peer:
- peers running ccmuxd — version + “update available” if behind your build
- peers without ccmuxd — “ccmux not installed” hint
- phones / iPads — “connect via Moshi app” hint
Press 7 in the TUI to open the Network screen, which lists every known host and lets you open an SSH shell directly.
Attaching to a remote session
ccmux execs ssh -t <host> -- tmux attach -t <name>. To use Mosh instead for a pinned host:
ccmux host add --mosh mini --addr mini.tailnet:7474
Mosh can reconnect after the client changes networks or wakes from sleep. The remote host still needs to remain awake and online.
Keeping versions in sync
The Devices panel tags any peer that’s behind your build with “update available”. SSH in and run ccmux update to bring it in sync, or press 6 (Settings) → r (refresh) to re-check.
Help improve ccmux
Found a bug, an unclear guide, or a translation that could read better? Contributions of any size are welcome. Open an issue or send a pull request.
Spotted an error or something out of date? Edit this page on GitHub.