Coolifyで自前PaaSを構築:Herokuに代わるDocker管理の決定版

Docker tutorial - IT technology blog
Docker tutorial - IT technology blog

クイックスタート:一瞬でCoolifyをインストール

VPSをHerokuやVercelのような高性能なシステムに変えたいですか?クリーンなUbuntu 22.04 LTSsのVPS(最低2GB RAM)で、以下のスクリプトを実行するだけです:

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

インストールが完了したら、ブラウザで http://<IP-VPS>:3000 を開きます。管理者アカウントの設定画面が表示されます。全行程は通常3〜5分ほどで、コーヒーを淹れるよりも早く終わります。

なぜ手動のDocker管理ではなくCoolifyを使うべきなのか?

以前は、docker-compose.ymlを書き、サーバーにSSH接続して docker-compose up -d を実行するのに苦労していました。プロジェクトが5〜10個に増えると、管理が非常に煩雑になります。Nginx Proxy Managerを自分で設定し、Let’s EncryptのSSL更新に悩み、GitHubからの自動デプロイのためにWebhookを設定するといった作業に追われていました。

Coolifyは、そうした混乱を整理するために生まれました。これはサーバーを自己管理するためのオープンソースのPaaS(Platform as a Service)プラットフォームです。Gitからの自動ビルド、SSL発行、データベース管理まで、すべてが統合されています。格安のサーバー上で、Vercelのようなスムーズな体験を得ることができます。

ハードウェア構成:RAMを節約しすぎないこと

1. 実際のシステム要件

スペック表にある「最低1GB RAM」という言葉を鵜呑みにしてはいけません。Next.jsやJavaのような重いアプリケーションをビルドする場合、メモリ不足でサーバーがハングアップしやすくなります。実際の運用経験に基づくと、以下の構成が最も安定します:

  • OS: Ubuntu 22.04 または 24.04 LTS
  • RAM: 最低2GB(スムーズなビルドには4GB以上を推奨)
  • CPU: 2コア以上
  • Disk: SSD 30GB(古いDockerイメージの保存用)

2. 競合するサービスの停止

CoolifyはデフォルトでTraefikをリバースプロキシとしてポート80と443で使用します。サーバーですでに手動インストールのNginxやApacheが動いている場合は、ポートの競合を避けるために停止させてください。

sudo systemctl stop nginx && sudo systemctl disable nginx

最初のアプリケーションをデプロイ:コードから本番環境へ

ダッシュボードにログイン後、現在のサーバー(localhost)を選択してアプリの実行を開始できます。

30秒でGitHubと連携

Sources セクションで GitHub App を選択します。CoolifyがGitHub上のアプリ作成ページへ誘導してくれます。これにより、git push するたびにシステムが自動で検知し、追加設定なしで自動デプロイ(CI/CD)が実行されるようになります。

リソースの作成とソースコードのスキャン

Coolifyでは、すべてをプロジェクト単位で管理します。手順は非常に直感的です:

  1. Projects > Create New Project を選択。
  2. New Resource > Public/Private Repository を選択。
  3. GitのリポジトリURLを貼り付ける。

システムが自動的にコードをスキャンし、Node.js、Python、Laravelなどを判別して、最適なビルド設定を提案します。

ドメイン設定とSSLの自動化

これは最も価値のある機能の一つです。Domains セクションで、サーバーのIPを指しているドメイン(例:https://api.myproduct.com)を入力するだけです。Coolifyが自動的にLet’s Encryptを呼び出してSSL証明書を取得し、Traefikを設定します。もう複雑なNginxの設定ファイルを触る必要はありません。

最適化のコツ:ビルド速度の向上とデータベース管理

Coolifyは環境を自動化する Nixpacks をサポートしていますが、より詳細に制御したい場合は Dockerfile を使用してください。私は本番環境用に独自のDockerfileを用意してイメージサイズを最適化し、デプロイ速度を20〜30%向上させています。

ワンクリックでデータベースを作成

Docker Hubでイメージを探す代わりに、Databases メニューに移動するだけです。PostgreSQL、MySQL、Redis、MongoDBなどが用意されています。Coolifyは環境変数を自動設定し、S3やCloudflare R2への定期的なデータバックアップもサポートしているため、非常に安全です。

運用における「痛い目を見ないための」教訓

Coolifyで10以上のプロジェクトを管理してきた中で、サーバーをダウンさせないための3つの重要な注意点を見つけました:

  • 定期的なディスクの掃除: Dockerビルドを繰り返すとゴミイメージが溜まります。Coolifyには自動掃除機能がありますが、定期的に df -h で容量を確認しましょう。
  • スワップ(Swap)の使用は必須: 2GB RAMのVPSでは、2GBのスワップを追加してください。物理メモリが急に一杯になった際の「命綱」になります。
  • /data/coolifyディレクトリのバックアップ: ここはシステムの「心臓部」です。このディレクトリを失うと、すべてのプロジェクト設定が失われます。
# サーバーのフリーズを防ぐための2GBスワップ作成コマンド
sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile

結論:Coolifyは試す価値があるか?

「サーバーの修理屋」ではなくコードを書くことに集中したい開発者で、Herokuの高価な料金を避けたいなら、Coolifyは完璧なソリューションです。格安のVPS上で、高級なクラウド体験を手に入れることができます。

大規模なスケーリングには依然としてDocker SwarmやK8sが「王道」ですが、受託開発やMVPの開発、個人のラボ環境においては、現時点でCoolifyに勝るものはありません。

Share: