home / skills / tdhopper / dotfiles2.0 / home-network-admin

home-network-admin skill

/.claude/skills/home-network-admin

This skill helps you securely manage and troubleshoot your home network, SSH into devices, manage the Synology NAS, and monitor Tailscale connectivity.

npx playbooks add skill tdhopper/dotfiles2.0 --skill home-network-admin

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.6 KB
---
name: home-network-admin
description: Manage and troubleshoot Tim's home network, SSH into devices, administer the Synology NAS, and work with Tailscale. Use when the user wants to (1) SSH into or run commands on remote machines (synology, dobro), (2) manage the Synology NAS (files, packages, Docker, backups, Surveillance Station), (3) troubleshoot network connectivity or DNS, (4) check Tailscale status or manage the tailnet, (5) transfer files between machines, (6) check device health or disk usage, (7) manage the Caddy reverse proxy on dobro (*.hopperhosted.com), (8) any home server or home network administration task.
---

# Home Network Admin

Administer Tim's home network: devices connected over Tailscale, with a Synology NAS and Macs accessible via SSH.

Read [references/network-inventory.md](references/network-inventory.md) for the full device list, IPs, SSH config, and network topology before performing any task.

## SSH Access

SSH configs are defined in `~/.ssh/config`. Use the short aliases:

- `ssh synology` - Synology NAS (custom port, user tdhopper)
- `ssh dobro` - Mac (default port, user thopper)

SSH keys are managed via 1Password agent. If SSH fails with auth errors, verify 1Password is unlocked and the SSH agent is running.

## Synology NAS Administration

The Synology runs DSM. Common admin tasks via SSH:

- **Packages**: `synopkg list` (installed), `synopkg status <pkg>`, `synopkg start/stop <pkg>`
- **Docker/Container Manager**: `sudo docker ps`, `sudo docker logs <container>`, `sudo docker compose` (compose files often in `/volume1/docker/`)
- **Disk/volume health**: `df -h`, `cat /proc/mdstat`, `synodisk --enum`
- **Shared folders**: typically under `/volume1/`
- **DSM web UI**: `https://synology:5001` or `https://100.86.145.18:5001`
- **Logs**: `/var/log/` and DSM log center

For destructive operations (deleting files, stopping services, modifying configs), confirm with the user first.

## Tailscale

Tailscale connects all devices over a WireGuard mesh. Run `tailscale status` to discover the tailnet name and device list.

- On macOS, the `tailscale` CLI may not be on PATH. Use: `/Applications/Tailscale.app/Contents/MacOS/Tailscale`
- Check status: `tailscale status` (or the full path above)
- Verify connectivity: `tailscale ping <hostname>`
- All devices are reachable via MagicDNS (e.g., `synology.<tailnet>.ts.net`)

## Caddy Reverse Proxy (on dobro)

Caddy runs on dobro, providing HTTPS reverse proxy for `*.hopperhosted.com`. The Caddyfile is at `~/Caddyfile` (tracked in yadm). TLS uses Cloudflare DNS-01 challenge.

See [references/network-inventory.md](references/network-inventory.md) for the full list of proxied subdomains and backends.

- **Manage Caddy on dobro**: `ssh dobro` then `brew services restart caddy`, `caddy reload --config ~/Caddyfile`
- **Logs**: `journalctl -u caddy` or `brew services info caddy` depending on how it's managed
- **Edit Caddyfile locally**: it's tracked in yadm dotfiles at `~/Caddyfile`

## File Transfer

- Between local and remote hosts: `scp` or `rsync` using the SSH aliases
- Example: `rsync -avz ~/files/ synology:/volume1/backup/files/`
- For large transfers, prefer `rsync` with `--progress`

## Troubleshooting

1. **Can't SSH**: Check 1Password is unlocked, verify Tailscale is connected (`tailscale status`), ping the Tailscale IP
2. **DNS issues**: Check if MagicDNS resolves (`dig @100.100.100.100 synology.<tailnet>.ts.net`), fall back to Tailscale IPs directly
3. **NAS unresponsive**: Try ping, check DSM web UI, SSH may still work even if DSM is sluggish
4. **Slow network**: Check if traffic is going through Tailscale relay (`tailscale status` shows DERP relay vs direct connection)

Overview

This skill manages and troubleshoots Tim's home network, including SSH access to devices, Synology NAS administration, Tailscale tailnet checks, and Caddy reverse proxy management on dobro. It is designed to run commands, transfer files, inspect device health, and resolve connectivity or DNS issues quickly. Use it when you need safe, practical administration of home servers and network services.

How this skill works

I connect to devices using predefined SSH aliases (synology, dobro) with keys managed via the 1Password agent. For NAS tasks I run Synology DSM and Docker commands over SSH, inspect disks, and manage packages. For networking I use the Tailscale CLI and DNS checks, and for HTTP routing I edit/reload Caddy on dobro. Destructive actions require explicit confirmation before proceeding.

When to use it

  • SSH into synology or dobro to run commands or check services
  • Manage Synology: containers, backups, shared folders, disk health
  • Troubleshoot connectivity, Tailscale status, MagicDNS, or DERP fallbacks
  • Transfer files between machines with rsync or scp
  • Manage or reload Caddy reverse proxy for *.hopperhosted.com
  • Check device health, disk usage, and package/service status

Best practices

  • Read the network inventory and SSH config before connecting to confirm hosts and ports
  • Ensure 1Password is unlocked and the SSH agent is running if authentication fails
  • Prefer rsync with --progress for large transfers and scp for small files
  • Confirm with the user before deleting files, stopping services, or modifying critical configs
  • Use tailscale status and tailscale ping to verify reachability before troubleshooting DNS or services
  • When editing Caddyfile, test and reload instead of restarting blindly to minimize downtime

Example use cases

  • SSH into synology to check Docker container logs and restart a failing container
  • Run df -h and synodisk --enum on the NAS to diagnose full disks and plan cleanup
  • Use tailscale status and ping to trace a device that lost connectivity and check if it’s using DERP
  • Transfer a backup folder from a Mac to Synology using rsync -avz --progress
  • SSH into dobro, edit ~/Caddyfile, then reload Caddy to add a new subdomain proxy

FAQ

What if SSH authentication fails?

Make sure 1Password is unlocked and the SSH agent has your keys; confirm the SSH alias and port in your local ~/.ssh/config.

How do I check if Tailscale is causing slow connections?

Run tailscale status to see direct vs DERP connections and tailscale ping to measure latency; falling back to tailnet IPs can isolate DNS issues.