Dockerでのアプリ展開を超簡単にできる「Dokploy」、オープンソースでセルフホスト可能

自前のPCサーバーやVPSなど、OSだけが用意されているような環境でインターネットアプリケーションを構築する場合、webサーバーやデータベースサーバーなど1つ1つインストールし管理するのは手間がかかります。そこでDockerを利用してアプリケーションと必要な構成を全て自動的に構築できるDokployが公開されています。
Dokploy - Deploy your applications with ease
https://dokploy.com/

Dokploy/dokploy: Open Source Alternative to Vercel, Netlify and Heroku.
https://github.com/dokploy/dokploy
◆Dokployの主な特徴
・ワンクリックによるアプリケーションのデプロイ
テンプレートもしくはdocker composeファイルからワンクリックでデプロイできます。
・アプリケーションおよびDocker Compose管理
起動・停止などのアプリケーション管理、コンテナへのターミナル接続、GitHubやGitおよびDockerなどのソースプロバイダーからソースを取得しDocker・Nixpacks・Heroku Buildpacks・Paketo Buildpacksなどの形式でビルドが可能です。
・データベース管理
MySQL・PostgreSQL・MongoDB・MariaDB・Redisをサポート。
・監視、ログ機能
起動したアプリケーションやデータベースの各サービスのCPU使用率・メモリ使用量・ディスク使用量・ネットワークトラフィックやログをリアルタイムで確認できます。
・バックアップ機能
データベースや各種データのバックアップを自動化可能。
・ドメイン管理
ドメインの追加・削除、リダイレクト設定やポート設定など詳細なTraefik設定が可能です。
◆同様のサービスとの機能比較
CapRover・DokkuおよびCoolifyとの機能比較の一覧です。△はプラグインで可能。
| 機能 | Dokploy | CapRover | Dokku | Coolify |
|---|---|---|---|---|
| ユーザーインターフェース | 〇 | 〇 | × | 〇 |
| Docker Composeサポート | 〇 | × | × | 〇 |
| API/CLI | 〇 | 〇 | 〇 | 〇 |
| マルチノードサポート | 〇 | 〇 | × | 〇 |
| Traefik統合 | 〇 | 〇 | △ | 〇 |
| ユーザー権限管理 | 〇 | × | × | 〇 |
| Bitbucket統合 | 〇 | × | × | × |
| GitLab統合 | 〇 | × | × | × |
| Gitea統合 | 〇 | × | 〇 | × |
| 高度なユーザー権限管理 | 〇 | × | × | × |
| ターミナルアクセス | 〇 | × | × | 〇 |
| データベースサポート | 〇 | 〇 | × | 〇 |
| モニタリング | 〇 | 〇 | × | × |
| バックアップ | 〇 | △ | △ | 〇 |
| オープンソース | 〇 | 〇 | 〇 | 〇 |
| 通知 | 〇 | × | × | 〇 |
| マルチサーバーサポート | 〇 | × | × | 〇 |
| オープンソーステンプレート | 〇 | 〇 | × | 〇 |
| ロールバック | 〇 | 〇 | × | 〇 |
| 共有環境変数 | 〇 | × | × | 〇 |
| 個別環境変数 | 〇 | × | × | 〇 |
| スケジュールジョブ | 〇 | × | × | 〇 |
| Cloudflareトンネル | 〇 | × | × | 〇 |
| カスタムビルドサーバー | 〇 | × | × | 〇 |
| ボリュームバックアップ | 〇 | × | × | × |
| デプロイプレビュー | 〇 | × | × | 〇 |
| チーム | 〇 | × | × | 〇 |
| クラウド/有料版 | 〇 | 〇 | 〇 | 〇 |
◆インストール方法
今回はGoogle Cloud上のVMインスタンスにUbuntuでDockerが利用できる環境を構築して、Dokployをインストールします。rootユーザーで以下のコマンドを実行します。
curl -sSL https://dokploy.com/install.sh | sh
インストールが完了すると管理画面にアクセスするためのURLが表示されるのでコピー。

ブラウザにURLを入力してアクセスすると管理者登録フォームが表示されるので、「First Name」「Last Name」「Email」「Password」および「Confirm Password」を入力して「Register」をクリック。

登録が完了すると管理画面が表示されます。

◆WordPressを構築
アプリケーション構築の例としてWordPressを導入します。まずプロジェクトを作成するため管理画面の「Create Project」をクリック。

「Name」に任意のプロジェクト名を入力し「Description」に任意の説明を入力して「Create」をクリック。

プロジェクトが作成されるので「Create Service」をクリック。

サービスの構築方法が選択できるので「Template」を選択。

テンプレート選択画面が表示されるので「wordpress」で検索、WordPressが見つかったので「Create」をクリック。

確認ダイアログが表示されるので「Confirm」をクリック。

管理画面にサービス「wordpress」が追加されるのでクリックします。

サービスの設定画面が表示されるので「Deploy」をクリック。

確認ダイアログが表示されるので「Confirm」をクリック。

構築が完了すると「Done」と緑色のバッジが表示されました。

「Domains」をクリックすると、このサービスにアクセスできるドメインが表示されるのでコピーします。

ブラウザにコピーしたドメインを入力してアクセスするとWordPressのインストール画面が表示されました。

◆独自ドメインの割り当てとHTTPS化
自動的に割り当てられるドメインではHTTPでのアクセスとなり通信が暗号化されません。暗号化された通信を行うには、独自ドメインが必要となります。サービス用のドメインが用意できる場合は、次の方法で割り当てることができます。「Domains」の設定画面の「Add Domain」をクリック。

「Service Name」でドメインを設定するサービスを選択し「Host」欄に独自ドメインを入力、「Container Port」には80を入力し「HTTPS」欄のトグルを「ON」にして「Certificate Provider」で「Let's Encrypt」を選択してから「Create」をクリックします。

ドメインが追加され「HTTPS」でのアクセスの準備ができました。

サービスの再起動が必要なので「General」から「Reload」をクリックします。

再起動後、ブラウザでHTTPS形式で独自ドメインを入力しアクセスすると正常にWordPressのインストール画面が表示されました。
・関連記事
独自のデータベースやWordPressなどのアプリを簡単にセルフホストできて管理できるオープンソースPaaS「Coolify」 - GIGAZINE
FirebaseのようにGUIでバックエンドを構築できる無料でオープンソースのシステム「PocketBase」、わずか1ファイルのみ - GIGAZINE
無料で色々なWebサービスを1カ所で管理できるツール「Slapdash」を使ってみた - GIGAZINE
オープンソースのリレーショナルデータベース「PostgreSQL」が信頼を獲得して広く利用されるようになるまでの歴史をエキスパートエンジニアが解説 - GIGAZINE
無料で使える開発に役立つサービスをまとめた「free-for.dev」レビュー、埋もれたサービスも発掘可能 - GIGAZINE
・関連コンテンツ
in ソフトウェア, レビュー, Posted by darkhorse_logmk
You can read the machine translated English article Dokploy makes deploying apps with Docker….







