🌐 日本語訳は作業中です。以下は英語原文(技術詳細は最新です)。
Tutorials

スマホで 10 台のサーバーを管理する方法

Tags, search, groups, and the workflow that makes managing a small fleet from mobile actually pleasant.

CC Chen Chen· Founder·April 23, 2026·8 min read

A good naming convention

The single highest-leverage thing you can do for a 10-server fleet is name them sensibly. Bad names — server1, vps-2, random-vps — turn the phone list into a guessing game when you're half-asleep. Good names tell you what the box does and where it lives at a glance.

What works for me, after some iteration:

<role>-<env>-<number>-<region>

prod-web-01-sgp
prod-db-01-sgp
stage-web-01-sgp
dev-web-01-local
home-nas
home-pihole

Role first because that's what you read first. Env second so prod servers don't blend with staging in a tired moment. Region last because it changes least often. For homelab and personal boxes I drop the structured naming entirely — home-nas is fine, you have three of them, not a hundred.

Tags that earn their keep

TermAI supports multiple tags per connection. The temptation is to over-tag — every server ends up with five tags and they all become noise. Restraint helps.

The tags that consistently pay off for me:

  • prod / staging / dev — the most important filter
  • web / db / worker — the second most important
  • oncall — tag whatever is currently on rotation; untag it when not. The 2am list should be short.
  • home — separates personal from work

What I stopped tagging: regions (already in the name), OS versions (irrelevant in the list view), service-specific tags like nginx (low signal). Less is more.

Groups for visual structure

Groups in TermAI are essentially named folders — they collapse and expand in the host list. I keep mine flat: one group per environment (Production / Staging / Dev / Home). Inside each group, servers are sorted by role.

Production stays collapsed by default. I want to expand it deliberately, not see it whenever I open the app. Home stays expanded — that's the daily-use list.

Avoid nested groups. The cognitive cost of "is this prod-db under Production → DB or Production → Critical?" is higher than the value of the extra organization. Flat groups + tags scale further than hierarchical groups.

Once you have more than 8-10 servers, scrolling is faster than thinking about taxonomy. TermAI's search bar at the top of the host list matches across label, host, username, and tags. Type three characters; the right server is the only one left.

Tactically: name your servers so a 3-character prefix uniquely identifies them in your daily-use set. pro for prod-web-01, nas for home-nas, pi for home-pihole. If three letters disambiguate, you can launch any connection in two taps and one swipe.

You'll know your naming is good when you stop reading the list and start touch-typing the search bar.

Snippets for repeated commands

The shell commands you run from the phone are different from what you run from the desktop. Desktop is exploration and one-offs; phone is "the same five things, every time." Save those five things.

The snippets I use most:

  • journalctl -u nginx --since 1h -n 100 — check recent nginx logs
  • df -h | head — quick disk check
  • docker compose ps — what's up
  • docker compose logs -f --tail 50 api — tail logs on a specific service
  • sudo systemctl restart caddy — the one-button "kick the proxy"

Snippets are organized in TermAI by category, with optional pinning to specific hosts. The phone keyboard is forever; saving the typing on these five commands buys back a real fraction of mobile session time.

What to keep on the phone vs. the laptop

Some work belongs on the laptop. Don't fight that. The phone is for triage and small fixes, not for editing 200 lines of Terraform.

My division:

  • Phone, every time: Restart a service. Check logs. Tail a process. Look at top. Answer a Y/n prompt that came in via push. Approve a deploy that's blocked on me.
  • Phone, sometimes: Edit a single line of a config file via SFTP. Run a one-line database query. Pull a remote tarball.
  • Laptop, always: Major schema changes. Code reviews. New service deploys. Anything where I want a 100-line scrollback I can re-read three times before doing the thing.

If a phone session is getting longer than 3 minutes, that's a signal to either finish it fast or escalate to laptop. The phone is great for "do the thing"; it's bad for "think about the thing."

The 2am workflow

Putting it all together for the case that prompted TermAI in the first place:

  1. Alert fires — phone buzzes with a notification that names the server and the issue.
  2. Open TermAI, tap the search bar — type 3 characters of the server name. The right host is highlighted.
  3. Connect — single tap. Tailscale tunnel is already up because the app's been opened.
  4. Snippet — tap the matching saved command (logs / status / restart) instead of typing.
  5. Read the output, run the fix — usually a single restart command. If it's complex, ask the AI helper for an explanation.
  6. Confirm and close — verify the service is back via the same snippet, lock the phone, sleep.

Target time: phone-out to fix-confirmed in under 90 seconds. With a well-named fleet and a couple of snippets, that's achievable. The whole point of mobile SSH is that the alert-to-resolved gap shrinks small enough to do from bed.

Try TermAI

Free on iOS and Android. 3 SSH connections + 20 AI calls/day on the free tier.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

💬 Discuss this article: Hacker News · Reddit · V2EX
Was this useful? ← Back to blog