多くの開発者が自宅で何らかのサーバーを運用しています。Raspberry Pi、PlexやJellyfinを動かしているNAS、Dockerコンテナ群が走る旧型PC、NextcloudやHome Assistantなど。24時間稼働しているマシンは、外出時に限ってトラブルが発生しがちです。
ストレージ容量の枯渇、Dockerコンテナの突然のダウン、バックアップジョブのエラーなど。あるいは単純に、外出前に仕掛けたダウンロードが完了したか知りたいだけかもしれません。
ルーターに穴を開けたり複雑なVPNを設定したりすることなく、iPhoneから自宅サーバーの状況を安全に点検・復旧する方法を解説します。
2つのアプローチ
1つ目は、iPhoneから自宅サーバーに直接SSH接続する方法です。しかしこれにはルーターのポート開放やTailscale/WireGuardなどのVPN網の維持が必要になります。
2つ目は、外出先から手元のiPhoneで自宅のMacにアクセスし、そのMacからローカル接続でサーバーへSSHする方法です。Macはすでにサーバーと同じ自宅Wi-Fi内にあり、SSHキーや設定が完了しています。サーバー自体を一切インターネットに晒す必要がありません。
この記事では後者のスマートな方法を解説します。MackyでMacに繋がり、Macを踏み台にしてサーバーを管理します。
初期確認とセットアップ
まず、自宅MacからサーバーへローカルSSHできることを確認します:
ssh pi@192.168.1.100次に、Macにmacky.devからMac用アプリを導入し、iPhoneにMackyアプリを入れて同一アカウントでログインします。これだけで、世界中どこからでもiPhone > Mac > 自宅サーバーという強固な操作ルートが開通します。
接続時に確認すべきポイント
ディスク残量
ホームサーバーで最も頻発するトラブルがディスク枯渇です。PlexのトランスコードキャッシュやDockerイメージがディスクを圧迫します:
df -h使用率が85%を超えているパーティションがあれば要注意です。
デーモン・サービスの状態
systemdを使用しているLinux環境でサービスの稼働状況を確認します:
systemctl status plex停止していれば再起動します:
sudo systemctl restart plexDockerコンテナのヘルスチェック
稼働中のコンテナを確認:
docker ps異常終了したコンテナを含めて確認:
docker ps -a落ちていたコンテナのログを確認し、再起動:
docker logs --tail 50 my-container-namedocker restart my-container-nameリアルタイムログの追跡
tail -f /var/log/nginx/error.logMackyのキーボードツールバーにあるCtrlキーを押し、Ctrl+Cでログ表示を停止できます。
Mac側に一括チェックスクリプトを設定
スマホで長文コマンドを打つのは面倒です。Macの ~/.zshrc にエイリアスを定義しておきましょう:
alias server-status='ssh pi@192.168.1.100 "echo === DISK === && df -h && echo === DOCKER === && docker ps && echo === MEMORY === && free -h && echo === UPTIME === && uptime"'設定反映:
source ~/.zshrcこれでiPhoneから server-status と打つだけで、ディスク、コンテナ、メモリ、ロードアベレージが瞬時に一覧表示されます。
実例シナリオ
職場でPlexが開かなくなったとき、MackyからMacに接続して server-status を実行。Plexのログを覗いてエラー原因を確認し、コンテナを再起動して復旧。VPNもポート開放も不要で、数分で解決できます。
関連ガイド・比較記事
Macのターミナルを、いつでもポケットに。
ポート開放やVPN設定は一切不要。iPhoneから自宅やオフィスのMacへWebRTCでセキュアに直結し、デスクトップ画面とネイティブシェルを遠隔操作。まずは無料でお試しいただけます(買い切り $29・サブスクなし)。