OpenShip 完全ガイド 2026:オープンソースプラットフォームで自建する Vercel 代替案

TL;DR — OpenShip は今週 GitHub で話題のオープンソースデプロイプラットフォーム(8.9K+ stars)。自分の VPS 上で Vercel や Railway と同じ「push してデプロイ」の体験を実現できます。プラットフォームロックインなし、完全無料。

なぜ OpenShip が必要なのか?

Vercel、Netlify、Railway を使ってプロジェクトをデプロイしているなら、こんな経験があるはず:

  • 無料枠じゃ足りない:Vercel Hobby プランは帯域幅 100GB 制限。超えたら即サービス停止
  • ビルド枠に限りがある:Railway は月 500 分。デプロイ頻度がちょっと上がるだけで底をつく
  • データが自分の手にない:トラフィックもログも環境変数も全部サードパーティ預け
  • 値段が読めない:プロジェクトが成長すると、月額が $0 から $50+ に跳ね上がる

OpenShip はまさにこれらの問題を解決するために生まれた。

OpenShip とは?

OpenShip はオープンソースでセルフホスト可能なデプロイプラットフォーム。主な特徴はこんな感じ:

特徴 説明
🚀 push 即デプロイ Git push で自動ビルド&デプロイ。Vercel と同じ体験
🐳 Docker ネイティブ プロジェクトタイプを自動検出し、Docker コンテナとしてビルド&実行
🔒 自動 TLS Let's Encrypt を内蔵。HTTPS 証明書の取得と更新を自動化
🌐 カスタムドメイン 独自ドメインを設定可能。DNS とルーティングも自動設定
📊 Web コンソール すべてのプロジェクトをビジュアル管理。ログ確認、環境変数管理も
💻 マルチデバイス デスクトップアプリ / CLI / Web ダッシュボードの 3 通りの方法
🆓 完全無料 MIT ライセンス。コードは全部自分のサーバー上

技術スタック: TypeScript + PostgreSQL + Redis + OpenResty(エッジルーティング)+ Docker

GitHub: oblien/openship — 8.9K+ stars、今週だけで 5,800+ 増加


OpenShip のインストール

方法一:ワンクリックインストール(おすすめ)

一番かんたんなのは公式インストールスクリプトを使う方法。Linux / macOS / Windows に対応:

BASH
# CLI をインストール
curl -fsSL https://get.openship.io | sh

# または npm で
npm i -g openship

インストール完了後、インタラクティブウィザードで初期化を完了:

BASH
openship

ウィザードは以下のステップを案内してくれる: 1. 管理者アカウントの作成 2. ドメインの設定(例:openship.yourdomain.com) 3. システムサービスへのインストール(自動起動)

方法二:Docker Compose でデプロイ

Docker を使いたい場合や、もっと細かい制御が必要な場合:

BASH
git clone https://github.com/oblien/openship.git && cd openship
cp .env.example .env
# .env を編集してドメインやDBパスワードなどを設定
vim .env

# 全サービスを起動
docker compose --env-file .env -f docker/docker-compose.yml up -d

これでフルスタックが起動する: - PostgreSQL — データストア - Redis — キャッシュとキュー - API Server — コアコントロールプレーン - Dashboard — Web 管理画面 - OpenResty Edge — リバースプロキシ + 自動 TLS(ポート 80/443 でリッスン)

方法三:デスクトップアプリ

個人利用だけで、常に起動しているサーバーが必要ない場合は、デスクトップアプリをそのままダウンロードすればOK:

プラットフォーム ダウンロード
macOS (Apple Silicon) Openship-arm64.dmg
macOS (Intel) Openship-x64.dmg
Windows Openship-win32-x64.zip
Linux Openship.AppImage

デスクトップアプリはローカルマシンでコントロールプレーンを動かし、SSH 経由でリモートサーバーに接続してアプリをデプロイする。個人デベロッパーにぴったりで、常時稼働のサーバーを用意する必要がない。


クイックスタート:はじめてのプロジェクトをデプロイ

1. プロジェクトを初期化

プロジェクトディレクトリに移動して実行:

BASH
cd your-project
openship init

openship init はプロジェクトタイプ(Node.js、Python、Go、Ruby など)を自動検出し、設定ファイルを自動生成してくれる。

2. デプロイ

BASH
openship deploy

これだけ。OpenShip が自動的に以下を実行:

  1. 検出 — package.json、requirements.txt、go.mod などを読み取り、技術スタックを識別
  2. ビルド — Docker イメージにパッケージングし、設定をスナップショットとして固定
  3. 実行 — コンテナとして起動。ループバックのみでリッスンし、ポートは外部に公開しない
  4. ルーティング — OpenResty がドメインと TLS 証明書を自動割り当て

3. アクセス

デプロイ完了後、アクセス用の URL が表示される:

✅ Deployed! Your app is live at:
   https://your-app.openship.yourdomain.com

応用機能

カスタムドメイン

デフォルトでは OpenShip がサブドメインを割り当てる。自分のドメインをバインドするには:

BASH
# OpenShip ダッシュボードで設定するか、CLI で:
openship domains add your-app --domain myapp.com

OpenShip が自動でやってくれること: - OpenResty のルーティングルールを設定 - Let's Encrypt 証明書を取得 - HTTP → HTTPS リダイレクトを設定

環境変数の管理

ダッシュボードまたは CLI で環境変数を管理。複数環境(production / staging / preview)に対応:

BASH
# 環境変数を設定
openship env set DATABASE_URL="postgresql://user:pass@db:5432/myapp"
openship env set REDIS_URL="redis://redis:6379"

# 環境変数一覧
openship env list

# 環境別に設定
openship env set --env production API_KEY="sk-xxx"

マルチプロジェクトデプロイ(Monorepo)

OpenShip は monorepo をネイティブサポート。各サブディレクトリを独立したプロジェクトとしてデプロイできる:

my-monorepo/
├── frontend/       # フロントエンドプロジェクトとして独立デプロイ
│   └── package.json
├── backend/        # バックエンド API として独立デプロイ
│   └── package.json
└── openship.json   # グローバル設定(オプション)

サブディレクトリごとに openship init と openship deploy を実行するだけでOK。

カスタムビルド設定

自動検出で足りない場合は、プロジェクトルートに openship.json を作成:

JSON
{
  "build": {
    "command": "pnpm build",
    "output": "dist"
  },
  "start": {
    "command": "node server.js"
  },
  "env": {
    "NODE_ENV": "production"
  },
  "domains": ["myapp.com", "www.myapp.com"]
}

デプロイログの確認

BASH
# リアルタイムログ
openship logs --follow

# 直近 100 行を確認
openship logs --tail 100

# デプロイ ID 指定で確認
openship logs --deployment dpl_abc123

前のバージョンにロールバック

デプロイのたびにスナップショットが生成されるので、いつでもロールバックできる:

BASH
# デプロイ履歴を確認
openship deployments list

# 指定バージョンにロールバック
openship rollback dpl_abc123

アーキテクチャ解説

OpenShip のアーキテクチャは 3 層で構成されている:

┌─────────────────────────────────────────────┐
│              コントロールプレーン              │
│  ┌──────────┐  ┌───────┐  ┌──────────────┐  │
│  │ API      │  │ Redis │  │ PostgreSQL   │  │
│  │ Server   │  │       │  │              │  │
│  └──────────┘  └───────┘  └──────────────┘  │
├─────────────────────────────────────────────┤
│              エッジ層                         │
│  ┌──────────────────────────────────────┐   │
│  │ OpenResty(ルーティング + TLS + LB)   │   │
│  └──────────────────────────────────────┘   │
├─────────────────────────────────────────────┤
│              ランタイム                       │
│  ┌────────┐  ┌────────┐  ┌────────┐        │
│  │ App A  │  │ App B  │  │ App C  │  ...   │
│  │ :3000  │  │ :8080  │  │ :5000  │        │
│  └────────┘  └────────┘  └────────┘        │
└─────────────────────────────────────────────┘
  • コントロールプレーン — プロジェクト設定、デプロイパイプライン、環境変数の管理
  • エッジ層 — OpenResty がリバースプロキシを担当。自動 TLS とスマートルーティング
  • ランタイム — 各アプリは独立した Docker コンテナで動作。ループバックのみでリッスン

すべてのトラフィックはエッジ層を経由する。アプリコンテナはポートを直接公開しないので、セキュリティはバッチリ。


Vercel / Railway との比較

比較項目 OpenShip Vercel Railway
価格 無料(セルフホスト) 無料枠に制限あり $5 の試用枠
データ主権 ✅ 完全に自己管理 ❌ サードパーティ ❌ サードパーティ
カスタムドメイン ✅ 無制限 ✅ 無料 ✅ 無料
TLS 証明書 ✅ 自動 ✅ 自動 ✅ 自動
push 即デプロイ ✅ ✅ ✅
Serverless ❌ コンテナモード ✅ ✅ コンテナ+Serverless
エッジ関数 ❌ ✅ ❌
ビルド枠 ✅ 無制限 制限あり 500 分/月
帯域幅制限 ✅ 無制限 100GB/月 制限あり
セルフホスト ✅ ❌ ❌

結論: Serverless やエッジ関数が必要なら、Vercel の方が依然として強い。でもコスト管理のしやすさ、データの自主性、無制限デプロイを重視するなら、OpenShip の方がベター。


よくある質問

Q: OpenShip に必要なサーバーのスペックは?

最低構成:1 コア CPU / 1GB RAM / 20GB ディスク(小規模プロジェクト 1〜3 個)

推奨構成:2 コア CPU / 4GB RAM / 40GB SSD(プロジェクト 5〜10 個)

Q: どのプログラミング言語やフレームワークに対応してる?

ほぼすべての主流技術スタックに対応: - Node.js — Next.js、Nuxt、Express、Fastify など - Python — Django、Flask、FastAPI など - Go — Gin、Echo、Fiber など - Ruby — Rails、Sinatra など - PHP — Laravel、Symfony など - Rust — Actix、Axum など - Docker — Dockerfile さえあれば何でも

Q: バックアップと移行はどうやる?

すべてのデータは PostgreSQL に保存されているので、データベースをバックアップするだけでOK:

BASH
# バックアップ
docker exec openship-postgres pg_dump -U openship openship > backup.sql

# 復元
cat backup.sql | docker exec -i openship-postgres psql -U openship openship

Q: 他のツールと連携できる?

できる。OpenShip は REST API と Webhook を提供:

BASH
# API でデプロイをトリガー
curl -X POST https://openship.yourdomain.com/api/deploy \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"project": "my-app", "ref": "main"}'

まとめ

OpenShip は 2026 年で最も注目すべきオープンソースデプロイプラットフォームのひとつ。Vercel クラスの開発体験を自分のサーバーにもたらしてくれる:

  • 💰 節約 — ビルド枠や帯域幅にお金を払う必要なし
  • 🔒 自主性 — コードもデータもログも全部自分の手に
  • 🚀 高効率 — Git push で即デプロイ、自動 TLS、ゼロコンフィグで公開
  • 📈 上限なし — デプロイしたいプロジェクトの数に限界なし

Vercel の無料枠制限にうんざりしているなら、あるいは完全にコントロール可能な PaaS を求めているなら、OpenShip は試す価値あり。

関連リンク: - GitHub: github.com/oblien/openship - ドキュメント: openship.io/docs - 中文ドキュメント: README.zh.md