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:

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.