自前の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との機能比較の一覧です。△はプラグインで可能。

機能DokployCapRoverDokkuCoolifyユーザーインターフェース〇〇×〇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のインストール画面が表示されました。