最終更新日: 2026年3月11日

テンプレート説明

DokkuはDockerをベースにしたオープンソースのPaaS(Platform as a Service)ツールです。Herokuライクなワークフローを自分のサーバーで実現でき、git pushによるデプロイが可能です。Rails、Node.js、Python、PHPなど多くの言語・フレームワークに対応しており、小規模なチームや個人開発者がセルフホストのデプロイ基盤を手軽に構築できます。

仕様

インストールOS

項目 内容
OS Ubuntu 24.04.4 LTS (Noble Numbat)

主要ソフトウェア

ソフトウェア バージョン
Dokku 0.37.6
Docker 29.2.1
nginx 1.24.0
Git 2.43.0

motd

SSHログイン時に、Dokkuの初期設定状況に応じて以下のメッセージが表示されます。

条件 表示メッセージ
グローバルドメイン未設定時 仮想ホストルーティングを使用する場合はグローバルドメインを設定するよう案内が表示されます。
SSHキー未登録時 デプロイ用SSHキーの登録コマンド例が表示されます。

その他

項目 内容
使用ポート 80 (HTTP) / 22 (SSH)
デフォルトプロキシ nginx
Dokkuデータディレクトリ /var/lib/dokku/
Dokkuホームディレクトリ /home/dokku/

利用手順

Step 1: VPSへの接続

ConoHaコントロールパネルで設定したSSH公開鍵を使用してVPSに接続します。

鍵認証でのSSH接続コマンド例
ssh -i 秘密鍵ファイルのパス root@VPSのグローバルIPアドレス

Step 2: グローバルドメインの設定

アプリケーションへのアクセスに使用するドメインを設定します。独自ドメインを使用する場合は、DNSのAレコードにVPSのグローバルIPアドレスを設定してください。

dokku domains:set-global your-domain.example.com

メモ

ドメインを設定することで、アプリ名をサブドメインとして使用できます(例: myapp.your-domain.example.com)。ドメインがない場合はVPSのIPアドレスを直接指定することも可能です。

Step 3: デプロイ用SSHキーの登録

ローカルマシンからgit pushでデプロイするために、SSHキーをDokkuに登録します。ローカルマシンで以下のコマンドを実行してください。

cat ~/.ssh/id_rsa.pub | ssh root@VPSのグローバルIPアドレス "dokku ssh-keys:add admin"

メモ

登録するキー名(上記例では「admin」)は任意の名前に変更できます。登録済みのキー一覧は dokku ssh-keys:list で確認できます。

Step 4: アプリケーションの作成とデプロイ

サーバー側でアプリケーションを作成し、ローカルからgit pushでデプロイします。

4-1. サーバー側でアプリを作成

dokku apps:create myapp

4-2. ローカルからリモートリポジトリを追加してデプロイ

ローカルのGitリポジトリに対して以下のコマンドを実行します。

git remote add dokku dokku@VPSのグローバルIPアドレス:myapp
git push dokku main

メモ

Dokkuはプッシュされたコードを自動的に解析し、Herokuish・Dockerfile・Nixpacksなど対応するビルダーを選択してコンテナをビルド・起動します。

Step 5: アプリケーションの確認

デプロイ後、以下のコマンドでアプリの状態やURLを確認できます。

# アプリ一覧の確認
dokku apps:list

# アプリのURL確認
dokku domains:report myapp

# アプリのログ確認
dokku logs myapp

Step 6: HTTPS(SSL/TLS)の設定

Let’s Encryptプラグインを使用してSSL証明書を自動取得・設定できます。

# Let's Encryptプラグインのインストール
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git

# メールアドレスの設定
dokku letsencrypt:set --global email [email protected]

# アプリへのSSL証明書適用
dokku letsencrypt:enable myapp

メモ

Let’s Encryptの証明書取得にはグローバルドメインの設定とDNSの設定が完了している必要があります。証明書の自動更新には dokku letsencrypt:cron-job --add を実行してください。

アプリケーションの具体的な利用方法につきましては、サービス開発元やサービス提供元の公式サイト、Wikiなどで最新情報をご確認ください。

リンク 説明
Dokku 公式サイト Dokkuの公式ウェブサイト
Dokku 公式ドキュメント インストールおよび設定に関する公式ドキュメント
Dokku GitHub リポジトリ ソースコードおよびIssueトラッカー
dokku-letsencrypt プラグイン Let’s Encryptを使ったSSL自動設定プラグイン