🔧 TECH ARTICLE 🔧
〜 T-05 〜

miniPCを”常時起動の開発サーバー”にしたら開発スタイルが変わった

⚙️ はじめに
個人開発で最も高いハードルは、「PCの前に座って環境を立ち上げる」という初動です。仕事で疲れて帰宅した後にデスクトップPCを開くのは、心理的にも物理的にもしんどい。
この問題を解決するのが、「重い作業環境」と「軽い接続端末」の分離という考え方です。自宅のminiPCを24時間稼働の開発サーバーにして、スマホやタブレットからSSH接続すれば、いつでもどこでも開発の続きが始められます。
本記事では、miniPCを開発サーバーとして構築する具体的な手順と、それによって変わる開発スタイルを解説します。
⚙️ アーキテクチャ概要
▸ 基本構成
接続端末(軽量)                  開発サーバー(常時起動)
┌──────────────────┐            ┌──────────────────────┐
│ iPhone / iPad    │            │ Ubuntu miniPC         │
│ Android          │  Tailscale │                       │
│ MacBook          │ ──────────→│ SSH Server            │
│                  │  暗号化     │ Docker                │
│ SSHクライアント    │  トンネル   │ Code-Server           │
│ ブラウザ          │            │ Node.js / Python      │
│ VS Code Remote   │            │ Claude Code           │
└──────────────────┘            └──────────────────────┘
     端末は表示だけ                  計算はすべてここ
     バッテリー消費少                電気代 月100〜300円
▸ 設計思想
従来の開発スタイル:

  開発者 → デスクトップPC(開発環境 + 表示 + 入力)
           すべてが1台に集約
           PCの前に座らないと何もできない

分離型の開発スタイル:

  開発者 → 接続端末(表示 + 入力のみ)
              │
              ▼
           開発サーバー(環境 + 計算 + ストレージ)
           24時間稼働、接続すれば即座に作業再開
項目 従来型 分離型
開発開始までの時間 PC起動 + 環境立ち上げ(5〜10分) SSH接続(5秒)
場所の制約 PCの前のみ どこからでも
持ち物 ノートPC(1.5kg〜) スマホだけでもOK
作業の中断・再開 毎回環境を復元 tmuxでセッション維持
電気代 使用時のみ(PC: 50〜150W) 常時起動(miniPC: 6〜15W)
⚙️ miniPCの選定
▸ 推奨スペック
項目 最低限 推奨
CPU Intel N100 / AMD相当 Intel N305 / AMD Ryzen 5
メモリ 8GB 16GB
ストレージ 256GB SSD 512GB NVMe SSD
消費電力 6〜10W 10〜15W
価格帯 2〜3万円 4〜6万円
▸ ランニングコスト
電気代の目安(24時間365日稼働):

  消費電力 10W の場合:
    10W × 24時間 × 30日 = 7.2kWh/月
    7.2kWh × 30円/kWh ≈ 216円/月

  消費電力 15W の場合:
    15W × 24時間 × 30日 = 10.8kWh/月
    10.8kWh × 30円/kWh ≈ 324円/月

  → 月額200〜350円で24時間開発サーバーが稼働
クラウドの仮想サーバー(VPS)と比較すると、同等スペックで月額1,000〜3,000円程度かかるため、長期運用ではminiPCのほうがコスト効率が高くなります。
⚙️ 構築手順
▸ 全体の流れ
Step 1: Ubuntu Serverインストール       (20分)
    │
    ▼
Step 2: 開発ツールのセットアップ         (15分)
    │
    ▼
Step 3: SSH設定とセキュリティ強化        (10分)
    │
    ▼
Step 4: Tailscaleでリモートアクセス      (5分)
    │
    ▼
Step 5: 接続端末の準備                  (10分)
    │
    ▼
完了: 合計 約1時間
▸ Step 1: Ubuntu Serverインストール
Ubuntu Server公式サイトからISOイメージをダウンロードし、USBメモリに書き込んでインストールします。
インストール時の設定:

  エディション: Ubuntu Server 24.04 LTS
  パーティション: デフォルト(自動)
  OpenSSH Server: インストール時に有効化
  ユーザー名: 任意(以降 dev で記載)
▸ Step 2: 開発ツールのセットアップ
# システム更新
sudo apt update && sudo apt upgrade -y

# 基本ツール
sudo apt install -y git curl wget build-essential

# Node.js(fnm経由)
curl -fsSL https://fnm.vercel.app/install | bash
fnm install --lts

# Python
sudo apt install -y python3 python3-pip python3-venv

# Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# tmux(セッション維持用)
sudo apt install -y tmux

# Code-Server(ブラウザ版VS Code)
curl -fsSL https://code-server.dev/install.sh | sh
▸ Step 3: SSH設定とセキュリティ強化
推奨するSSH設定(/etc/ssh/sshd_config):

  Port 22
  PasswordAuthentication no     ← パスワード認証を無効化
  PubkeyAuthentication yes      ← 鍵認証のみ許可
  PermitRootLogin no            ← rootログイン禁止
  MaxAuthTries 3                ← 認証試行回数を制限
Fail2banで不正アクセスを自動ブロックします。
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
▸ Step 4: Tailscaleでリモートアクセス
Tailscaleを使えば、ポート開放なしで外出先からアクセスできます。詳細な仕組みと設定手順は【T-04】を参照してください。
# Tailscaleインストール
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

# 接続確認
tailscale status
▸ Step 5: tmuxによるセッション維持
tmuxを使うと、SSH接続を切断しても作業セッションが維持されます。次回接続時に即座に前回の続きから再開できます。
セッション管理の基本:

  tmux new -s dev        ← 新しいセッション作成
  tmux attach -t dev     ← 既存セッションに再接続
  Ctrl+b → d             ← セッションから離脱(プロセス継続)

  接続の流れ:
  iPhone → SSH接続 → tmux attach → 前回の続きから即再開
⚙️ 日常の開発フロー
▸ 1日の開発リズム
朝の電車(5分):
  iPhone → SSH → tmux attach
  → 小さなバグ修正をコミット

昼休み(10分):
  タブレット → Code-Server(ブラウザ)
  → 新機能のコンポーネントを作成

夜のソファ(15分):
  iPad → SSH → Claude Code起動
  → 要件定義の整理やコード生成

寝る前(5分):
  iPhone → SSH
  → ドキュメント更新してプッシュ
▸ Claude Codeとの組み合わせ
miniPCの常時起動環境は、Claude Codeとの相性が良好です。
活用例:

  1. 要件定義のブラッシュアップ
     iPhone → SSH → claude
     → 「この機能の要件を整理して」

  2. チケットのTODOリスト作成
     → 「このissueをタスク分解して」

  3. コード生成と修正
     → 「この関数にエラーハンドリングを追加して」

  4. 作業メモの自動記録
     → CLAUDE.mdに実行結果や修正状況を記録
     → 次回セッションでスムーズに作業再開
⚙️ さらなる効率化
▸ Docker Composeで複数プロジェクト管理
プロジェクト構成例:

  ~/projects/
  ├── project-a/
  │   └── docker-compose.yml   ← フロントエンド + API
  ├── project-b/
  │   └── docker-compose.yml   ← バッチ処理
  └── project-c/
      └── docker-compose.yml   ← 個人ブログ

  各プロジェクトを独立して起動・停止可能
▸ GitHub Actionsとの連携
開発フロー:

  miniPCでコード修正
    │
    ▼
  git push
    │
    ▼
  GitHub Actions が自動実行
    ├─ テスト実行
    ├─ リント・型チェック
    └─ デプロイ(mainブランチのみ)
    │
    ▼
  結果をスマホで確認
▸ 自動起動設定
miniPCが再起動しても、開発環境が自動復旧するように設定します。
systemdサービス例(Code-Server):

  sudo systemctl enable code-server@$USER

Docker Composeの自動起動:

  restart: unless-stopped をdocker-compose.ymlに追加
⚙️ まとめ
miniPCを常時起動の開発サーバーにすることで、「PCの前に座る」というハードルが消え、開発が日常の隙間時間に溶け込みます。
構築に必要なもの:

  ハードウェア:  miniPC(2〜6万円)
  ソフトウェア:  Ubuntu Server + SSH + Docker + Tailscale
  接続端末:     スマホ / タブレット / ノートPC
  構築時間:     約1時間
  ランニングコスト: 月200〜350円(電気代)

得られるもの:

  ・どこからでも5秒で開発開始
  ・tmuxで作業セッション維持
  ・Claude Codeで生産性向上
  ・場所と時間の制約からの解放
⚙️ 参考リンク

この記事はminiPCを開発サーバーとして活用する実践ガイドです。
⚙️ Tech Series – T-05 🔧
Engineering the future…