3320 文字
17 分

Vercel月額$42→自宅サーバ月額$0。Coolifyで個人サービス基盤を作った話

概要#

  • Vercel Pro に月額$20〜$42払っていた個人サービスを、自宅サーバ + Coolify に移行した
  • 現在、5プロジェクト・23アプリケーション・7データベースを1台のサーバで運用中。月額$0
  • Coolifyは「自宅のDockerをVercel化する」OSS PaaS。GitHubにPushしたら自動ビルド&デプロイ&SSL化してくれる

きっかけ:Vercelの請求書#

トライアスロン大会結果の分析サービスVercelで運用していました。構成はNext.js + Auth0 + Stripe + Redis(ioredis) + AI SDK(Google AI / xAI / Groq) + next-intl(多言語対応)。フルスタックのNext.jsアプリで、Server ActionsでバックエンドもTypeScript。

Vercel ProのBaseが月$20。トラフィックが多い月は従量課金で$42まで跳ねた。12ヶ月で31M edge requests、1TB fast data transfer。年間$300〜$500。個人サービスとしてはかなりの出費。

他にも個人で運用しているサービスが20個ほどあり、今後もLLMを使ったプロトタイプをどんどん作りたい。サービスが増えるたびにVercelの課金が増えるのは厳しい。

これまで:自宅Docker直運用#

自宅サーバにDockerは既に入っている。サーバといってもGMKtec NucBox M2という53,000円の激安ミニPC(Intel Core i7-11390H / 32GB RAM / 1TB SSD)。手のひらサイズ。20個のサービスをそれぞれポート直叩きで動かして、Cloudflare TunnelでDNSとポートのマッピングをGUIでポチポチ設定していました。

これの問題は、サービスが増えるたびに以下の作業が必要なこと。

  • Dockerコンテナの起動設定を書く
  • Cloudflare Zero Trust Dashboardでホスト名→ポートの設定を追加
  • SSL証明書の管理(Cloudflare任せとはいえ)

20個まではなんとかなったけど、30個、40個と増えていくと管理コストが線形に増加する。もうちょっとなんとかしたい。

いくつか選択肢を考えた#

選択肢1: exe.dev#

exe.devのトップページ。「A VM for every idea」がキャッチコピー

exe.devはAIネイティブなインスタントVMホスティング。永続ディスク付きのUbuntuが即座に立ち上がって、HTTPS付きで公開される。認証もヘッダー情報だけで完結するので手軽。月$20で2CPU/8GB RAM/25GB disk、最大25VMまで。

ただ、ベンダーロックインが気になる。10〜30個のサービスを載せるとなるとリソースが足りない。

選択肢2: fly.io#

fly.ioのトップページ。「Build fast. Run any code fearlessly.」

fly.ioは良いサービスだけど、リソース制限がある。無料枠を超えるとすぐに課金が発生する。個人で大量のサービスを運用する基盤としてはコストが読みにくい。

選択肢3: Kubernetes (k8s)#

Kubernetesは言わずと知れたコンテナオーケストレーションツール。本格的に運用するなら最有力候補だけど、個人サービス10〜30個の規模にはオーバーキル。Control Planeだけで数GBのRAMを消費する。32GBのミニPCでは、管理基盤にリソースを取られてアプリに回せない。学習コストも高い。

選択肢4: Proxmox#

Proxmox VEは仮想化基盤。VMを切ってその上にDockerを載せる。。。みたいな構成もできるけど、やりだすと沼。個人サービスの基盤としては大げさすぎる。やりたいのはアプリのデプロイであって、仮想マシンの管理ではない。

選択肢5: Coolify#

そこで見つけたのがCoolify。一言でいうと、セルフホスト版のVercel/Heroku/Netlify。自分のサーバにインストールするだけで、PaaSと同じデプロイ体験が手に入るOSSです。

比較まとめ#

exe.devfly.ioKubernetesProxmoxCoolify
月額コスト$20〜従量課金✅ $0(セルフホスト)✅ $0(セルフホスト)$0(セルフホスト)
初期構築✅ 即座✅ 数分数時間〜数時間〜数分(コマンド1発)
学習コスト✅ 低い中程度高い(YAML地獄)高い(仮想化の知識必要)低い(GUIでポチポチ)
サービス数上限25VM従量課金で増加✅ 実質無制限✅ 実質無制限実質無制限
DB管理自前有料アドオン自前自前GUI標準装備
Push to Deployなし✅ あり要CI/CD構築なしあり(GitHub連携)
SSL自動化✅ あり✅ あり要設定なしあり(Let’s Encrypt)
ベンダーロックインありあり✅ なし✅ なしなし(素のDocker)
管理リソース消費数GB(Control Plane)数GB(Hypervisor)数百MB(UI+Traefik)
向いている用途プロトタイプ小〜中規模大規模運用VM管理個人〜中規模のサービス運用

個人で10〜30個のサービスを運用する前提だと、Coolify一択でした。コストゼロ、学習コスト低い、Docker資産がそのまま使える、管理リソースも軽い。

Coolifyとは#

Coolifyのトップページ。「Self-hosting with superpowers.」429,991以上のセルフホストインスタンスが稼働中

プロジェクト概要#

Coolifyは、ハンガリーの開発者 Andras Bacsai が2021年に立ち上げたOSSプロジェクト。coolLabs Solutions Kft. が開発・運営しています。ライセンスは Apache 2.0。

GitHubスターは51,600以上(2026年3月時点)。Discordコミュニティは20,000人超。クラウド版の有料ユーザーも3,200人以上いて、個人のサイドプロジェクトではなく、ちゃんとした事業として回っている。日本ではまだあまり知られていないけど、海外のセルフホスト界隈ではかなりメジャーな存在です。

現在のバージョンは v4.0.0-beta。v3からアーキテクチャを刷新して、安定性重視の設計になっています。

アーキテクチャ#

Coolifyの構成はシンプル。自分のサーバにインストールすると、管理UI + Traefik(リバースプロキシ)+ Docker Engineの3層構造で動く。

ポイントは、CoolifyはDockerの上に乗る管理レイヤーに過ぎないということ。中で動いているのは普通のDockerコンテナ。Coolifyを外しても、コンテナはそのまま動き続ける。

ネットワーク構成:自宅サーバ vs VPS#

Coolifyはどこで動かすかによってネットワーク構成が変わる。

自宅サーバの場合、インターネットに直接公開するにはポート開放が必要だけど、それはセキュリティ的にやりたくない。Cloudflare Tunnelを使えば、自宅からOutbound接続だけで外部公開できる。ポート開放不要、固定IP不要、DDNS不要。さらにCloudflareのCDNとWAFが必然的にフロントに立つので、DDoS対策もキャッシュも無料でついてくる。自宅サーバで運用するなら、Cloudflareの裏で動かすのが一番安全だと感じています。

VPSの場合、インターネットに直接出しちゃえばいい。CoolifyのTraefikがSSL終端してくれるので、そのまま公開できる。ただ、CDNやWAFが欲しければ別途Cloudflare等を設定する必要があるので、そこは若干面倒。

結局、自宅サーバ + Cloudflare Tunnelの構成が、セキュリティ・コスト・手軽さのバランスが一番良い気がする。CDNが勝手についてくるのは自宅サーバならではのメリットです。ネットワーク構成の詳細は第4回で書きます。

k8sとの違い#

「Dockerでサービスを管理するならKubernetesじゃないの?」と思うかもしれない。比較するとこんな感じ。

CoolifyKubernetes
学習コスト低い。GUIでポチポチ高い。YAML地獄
インストールコマンド1発(5分)クラスター構築が必要(数時間〜)
最小構成サーバ1台Control Plane + Worker Node(最低2〜3台推奨)
リソース消費管理UI + Traefik(軽量)Control Planeだけで数GBのRAM
スケーリングDocker Swarmで対応可ネイティブ対応。大規模向き
向いている規模1〜50サービス程度50〜数千サービス
ベンダーロックインなし(素のDocker)なし(OSSだが依存は複雑)

個人サービス10〜30個の規模なら、k8sは明らかにオーバーキル。Control Planeのリソース消費だけで、私のミニPCのRAMがかなり持っていかれる。Coolifyなら管理UI + Traefikで数百MB程度。残りの30GBをアプリに使える。

デプロイフロー#

開発からデプロイまでの流れ。Vercelと同じ体験がセルフホストで手に入る。

初期構築フロー#

Coolifyの導入から最初のサービス公開まで、やることは少ない。

何ができるのか#

  • Push to Deploy: GitHub / GitLab / Bitbucket / Giteaと連携。Pushしたら自動でビルド&デプロイ
  • リバースプロキシ自動設定: Traefikが裏で動いていて、ドメインを割り当てれば即SSL化(Let’s Encrypt
  • データベース管理: MariaDB、PostgreSQL、MySQL、MongoDB、Redisなどをボタンひとつで立ち上げ。自動バックアップもある
  • 280+のワンクリックサービス: PlausibleGiteaUptime Kuman8nなど、OSSのセルフホストツールを一発でデプロイできる
  • PRプレビュー環境: PRごとに一時的なURLを自動生成。Vercelのプレビューと同じ
  • Docker Compose対応: 既存のdocker-compose.ymlがそのまま使える
  • 複数サーバ管理: SSH接続できるサーバならリモートでも管理可能。VPSやRaspberry Piでも
  • API & MCP: REST APIが充実していて、MCP(Model Context Protocol)サーバーも用意されている。つまりClaude CodeなどのAIエージェントからプロンプトで操作できる(これについては第2回で詳しく書きます)

誰が使うのか#

  • 個人開発者: 月額$0で無制限にサービスをデプロイ。Vercel/Herokuの代替
  • スタートアップ: LLMを使ったプロトタイプを即座に外部公開してフィードバックを得る
  • 社内ツール運用: 社内向けサービスをVPSや自社サーバに集約。SaaSの課金を減らしたいチーム

完全にセルフホストなので、データは全部自分の手元。ベンダーロックインもない。Coolifyをやめても、中で動いているDockerコンテナはそのまま動き続けます。

選定の決め手#

ベンダーロックインなし#

上のアーキテクチャ図の通り、CoolifyはDockerの管理レイヤーでしかない。docker-compose.ymlがそのまま資産になるので、Coolifyをやめても何も失わない。

既存サービスの移行が段階的に可能#

既存の20サービスは各サブドメイン(xxx.teraren.com)で運用中。Cloudflare Tunnelの設定を活かしたまま、こうやって移行できる。

  1. Coolifyをインストール(既存サービスに影響なし)
  2. Cloudflare Tunnelにワイルドカード設定(*.teraren.com → Coolify)を追加
  3. 既存の個別設定(xxx.teraren.comlocalhost:3000)はそのまま優先される
  4. 新サービスはCoolifyにデプロイ。ワイルドカードでキャッチされる
  5. 既存サービスもCoolifyに載せ替えたら、個別設定を削除するだけ

旧環境を残したまま新環境を構築し、DNS切り替えで移行する。Blue/Green的な安心感があります。

現在の構成#

移行完了後の構成がこちら。1台のサーバで全部動いています。

項目内容
サーバGMKtec NucBox M2(Core i7-11390H / 32GB RAM / 1TB SSD、53,000円)
PaaSCoolify
プロジェクト数5
アプリケーション数23
データベース数7(MariaDB×2, MySQL×2, Redis×3)
月額コスト$0

Coolifyのダッシュボードで見ると、5プロジェクトが並んでいる。

Coolifyのダッシュボード。5つのプロジェクト(ai-moderator、ai-tri、teraren、wordpress、zabbix)と1台のlocalhostサーバが表示されている

terarenプロジェクトだけで20個近いアプリケーションが全部runningで稼働中。bank-code、corporation、postcode、train、schoolなどの各種APIサーバ、blog-redirect等のリダイレクト用コンテナ、Immich(写真管理)など。

terarenプロジェクトのリソース一覧。20個近いアプリケーションが全てrunning状態で表示されている

内訳としては、Next.jsのWebアプリ、Railsアプリ、WordPress、各種APIサーバ、リダイレクト用コンテナ、Zabbix(監視)、Immich(写真管理)など。開発用と本番用で環境を分けているサービスもあるので、コンテナ数はそれなりに多い。

これが全部、53,000円のミニPC1台で、月額$0で動いている。Vercel時代は1サービスだけで$42/月だったことを考えると、もっと早く移行すべきでした。

Before / After#

指標BeforeAfter (Coolify)
月額コスト$20〜$42(Vercelだけで)$0
年間コスト$300〜$500$0(電気代のみ)
サービス数制限従量課金で増加無制限
DB外部サービス必要Coolify内で管理
CDサービスごとに個別管理Coolifyで統一
SSL自動自動

Beforeでは、Vercelに載っているもの、Docker直で動かしているもの、それぞれでCD(継続的デプロイ)の仕組みがバラバラでした。Next.js、Rails、WordPress、静的サイト。。。多種多様なアプリのデプロイ方法を個別に管理するのは本当に面倒だった。

Coolifyに統一したことで、全サービスが「GitHub Push→自動ビルド&デプロイ」の同じフローになりました。これはコスト削減以上に大きなメリットかもしれません。

まとめ#

自宅にDockerが動くサーバがあるなら、Coolifyを入れない理由がない。インストールはコマンド一発。

Terminal window
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

この記事ではCoolifyの選定理由を書きました。次回以降で、実際の運用に踏み込んでいきます。

シリーズ記事#

  1. Vercel月額$42→自宅サーバ月額$0。Coolifyで個人サービス基盤を作った話(この記事)
  2. Coolifyインストールから「プロンプトでデプロイ」まで:Claude Code MCP実践
  3. Coolifyハンズオン:Hono・Go・Railsを実際にデプロイしてみる
  4. Cloudflare Tunnel×Coolify:自宅サーバを安全に外部公開する
  5. API-firstなインフラが生き残る:LLM時代のセルフホスト戦略
  6. ZabbixでDockerコンテナをリソース監視する:Coolify環境の可視化
  7. Coolify環境のバックアップ戦略:6つのDBを自動ダンプ+復旧手順
  8. Coolify環境のログ管理と障害対応:Docker + Zabbix + Discordで運用を回す
Vercel月額$42→自宅サーバ月額$0。Coolifyで個人サービス基盤を作った話
https://blog.teraren.com/posts/coolify-why-self-hosted-paas/
作者
Yuki Matsukura
公開日
2026-03-13
ライセンス
CC BY-NC-SA 4.0
この記事が役に立ったら
GitHub Sponsorsで応援できます

コメント