GitHub連携でデプロイ
GitHubリポジトリと連携してDokployにアプリケーションをデプロイする方法
GitHubリポジトリと連携して、Dokployにアプリケーションをデプロイする方法を説明します。
前提条件
- GitHub EMU環境のOrganization内にリポジトリがあること
- リポジトリにDockerfileまたはデプロイ可能なコードがあること
手順
1. GitHub Appの作成(初回のみ)
初めてGitHub連携を使用する場合は、まずGitHub Appを作成する必要があります。
- Dokployにアクセス
- 左サイドバーから「Git」を選択
- 「GitHub」を選択
- 「Organization?」トグルをオンにする
- Organization名を入力(例:
NihonKohdenEnterprise) - 「Create GitHub App」ボタンをクリック

- GitHubの画面に遷移するので、「Install & Authorize」をクリック
- 連携するリポジトリを選択して保存
この設定は一度行えば、以降は連携済みリポジトリから選択するだけです。複数のOrganizationを連携する場合は、それぞれでGitHub Appを作成してください。
初回設定時に選択しなかったリポジトリを後から追加する場合は、Git Providers画面で作成済みのGitHub Appの外部リンクボタン(赤枠)をクリックし、GitHubの「Configure」ボタン→「Select repositories」から追加してください。

2. プロジェクトの作成
- 「Projects」から「Create Project」をクリック
- プロジェクト名を入力して作成
3. アプリケーションの作成
- 作成したプロジェクト内で「Create Service」→「Application」を選択
- アプリケーション名を入力
- 「Provider」で「GitHub」タブを選択
- 「Github Account」で作成済みのGitHub Appを選択
- 「Repository」で連携済みのリポジトリを選択
- 「Branch」でデプロイするブランチを選択
- 「Save」をクリック

4. ビルド設定

デフォルトは「Nixpacks」が選択されていますが、Dockerfileを使用することを推奨します。
Dockerfileを使用する場合(推奨)
- 「Build Type」で「Dockerfile」を選択
- 「Docker File」に
Dockerfileと入力
Dockerfileがルート以外にある場合や、ファイル名が異なる場合は、そのパスを入力してください。
例: docker/Dockerfile.prod
Dockerfileがない場合は、GitHub Copilotに作成を依頼してください。
プロジェクトのルートで「このプロジェクト用のDockerfileを作成して」と依頼すれば、適切なDockerfileを生成してくれます。
Railpackを使用する場合
Railpackは、Dockerfileなしでアプリケーションを自動的にビルドできる機能です。
- 「Build Type」で「Railpack」を選択
- Railpackがプロジェクトを自動検出してビルド設定を行います
Railpackは便利ですが、アプリの構成によってはうまくビルドできない場合があります。
ビルドに失敗する場合はDockerfileの使用を検討してください。
5. ドメイン設定
- 「Domains」タブを開く
- 「Add Domain」ボタンをクリック
- 「Generate random subdomain」ボタン(さいころアイコン、赤枠)をクリック
- 「Container Port」にポート番号を設定(ローカル開発時にブラウザからアクセスしているポート。例: Next.jsなら
3000、Streamlitなら8501) - 「Create」をクリック

使用しているポート番号がわからない場合は、GitHub Copilotに聞いてみてください。
任意のサブドメインを指定することもできますが、他のアプリと重複すると動作がおかしくなります。特別な理由がない限り、自動生成されたドメインを使用してください。
6. 環境変数の設定(必要な場合)
ローカル開発時に .env ファイルに記載している内容をここに設定します。
- 「Environment」タブを開く
- 右上の目隠しボタン(赤枠)をクリックして編集可能にする
- 必要な環境変数を追加(例:
LITELLM_API_KEY=sk-xxxx) - 「Save」をクリック

環境変数は、アプリケーションの設定値を外部から渡す仕組みです。コードを変更せずに環境ごと(ローカル開発・本番など)に異なる値を設定でき、APIキーなどの機密情報をコードに直接書かずに済むというメリットもあります。
7. デプロイ
- 「General」タブを開く
- 「Deploy」ボタン(赤枠)をクリック
- ビルドログを確認し、デプロイが完了するまで待機

8. アプリケーションへのアクセス
デプロイ完了後、「Domains」タブを開き、表示されているURLをクリックするとアプリケーションにアクセスできます。

初回デプロイ直後はSSL証明書の取得に数分かかる場合があります。アクセスできない場合は少し待ってから再度お試しください。
デプロイ後、グローバル認証が正しく動作しているか確認するために、InPrivateウィンドウ(Ctrl+Shift+N)でアプリのURLにアクセスしてみてください。以下のようなサインイン画面が表示されれば、認証が正しく設定されています。

自動デプロイ
GitHub連携を設定すると、対象ブランチへのプッシュ時に自動デプロイが実行されます。この設定は基本的に自動で有効になります。
自動デプロイを無効にしたい場合は、「General」タブの「Auto Deploy」をオフにしてください。
トラブルシューティング
ビルドが失敗する
- 「Deployments」タブを開き、「View」ボタンをクリックしてビルドログを確認
- エラーメッセージをGitHub Copilotにコピペして原因と解決方法を聞く
- Dockerfileの構文エラーがないか確認
- 必要な環境変数が設定されているか確認
アプリケーションにアクセスできない・動作がおかしい
- 「Logs」タブでアプリケーションログを確認
- エラーメッセージをGitHub Copilotにコピペして原因と解決方法を聞く
- ポート番号が正しく設定されているか確認
- アプリケーションが指定したポートでリッスンしているか確認
