生成AIアプリドキュメント
Dokploy

Zipアップロードでデプロイ

Zipファイルをアップロードしてアプリケーションをデプロイする方法

GitHubリポジトリを使用せず、Zipファイルを直接アップロードしてデプロイする方法を説明します。

ユースケース

  • KohdenGPTのFileGeneratorツールでZipファイルを生成した場合
  • GitHubにリポジトリを作成していない場合
  • 一度きりのデプロイで、継続的な開発を予定していない場合

継続的に開発・更新する予定がある場合は、GitHub連携でのデプロイを強く推奨します。毎回Zipファイルを作成してアップロードするのは非常に手間がかかります。なお、Zipアップロードでデプロイした後からでもGitHub連携に移行することは可能です。

前提条件

  • デプロイするアプリケーションのソースコードがあること
  • Dockerfileまたはデプロイ可能なコードがあること

手順

1. Zipファイルの準備

プロジェクトのルートディレクトリをZipファイルに圧縮します。

my-app/
├── Dockerfile
├── package.json
├── src/
│   └── ...
└── ...

Zipファイルを作成する際は、プロジェクトのルートディレクトリの中身を直接圧縮してください。フォルダごと圧縮すると、パスが1階層深くなり、ビルドが失敗する可能性があります。

2. プロジェクトの作成

  1. Dokployにアクセス
  2. 「Projects」から「Create Project」をクリック
  3. プロジェクト名を入力して作成

3. アプリケーションの作成とデプロイ

  1. 作成したプロジェクト内で「Create Service」→「Application」を選択
  2. アプリケーション名を入力
  3. 「Provider」で「Drop」タブを選択
  4. 「Zip file」セクションにZipファイルをドラッグ&ドロップ、またはクリックしてファイルを選択

Dropプロバイダー設定

「Build Path」は通常空欄のままで問題ありません。Zipファイルのルートにソースコードがある場合は変更不要です。

  1. 画面下部の「Build Type」セクションでビルド方法を設定

Build Type設定

デフォルトは「Nixpacks」が選択されていますが、Dockerfileを使用することを推奨します。

Dockerfileを使用する場合(推奨)

  • 「Build Type」で「Dockerfile」を選択
  • 「Docker File」に Dockerfile と入力
  • 「Docker Context Path」「Docker Build Stage」は通常空欄のままで問題ありません

Dockerfileがルート以外にある場合や、ファイル名が異なる場合は、そのパスを入力してください。

例: docker/Dockerfile.prod

Dockerfileがない場合は、GitHub Copilotに作成を依頼してください。

プロジェクトのルートで「このプロジェクト用のDockerfileを作成して」と依頼すれば、適切なDockerfileを生成してくれます。

Railpackを使用する場合

Railpackは、Dockerfileなしでアプリケーションを自動的にビルドできる機能です。

  • 「Build Type」で「Railpack」を選択
  • Railpackがプロジェクトを自動検出してビルド設定を行います

Railpackは便利ですが、アプリの構成によってはうまくビルドできない場合があります。

ビルドに失敗する場合はDockerfileの使用を検討してください。

  1. 「Deploy」ボタンをクリックしてデプロイを開始

4. ドメイン設定

  1. 「Domains」タブを開く
  2. 「Add Domain」ボタンをクリック
  3. 「Generate random subdomain」ボタン(さいころアイコン)をクリック
  4. 「Container Port」にポート番号を設定(ローカル開発時にブラウザからアクセスしているポート。例: Next.jsなら 3000、Streamlitなら 8501
  5. 「Create」をクリック

ドメイン設定ダイアログ

使用しているポート番号がわからない場合は、GitHub Copilotに聞いてみてください。

任意のサブドメインを指定することもできますが、他のアプリと重複すると動作がおかしくなります。特別な理由がない限り、自動生成されたドメインを使用してください。

5. 環境変数の設定(必要な場合)

ローカル開発時に .env ファイルに記載している内容をここに設定します。

  1. 「Environment」タブを開く
  2. 右上の目隠しボタンをクリックして編集可能にする
  3. 必要な環境変数を追加(例: LITELLM_API_KEY=sk-xxxx
  4. 「Save」をクリック

環境変数設定画面

環境変数は、アプリケーションの設定値を外部から渡す仕組みです。コードを変更せずに環境ごと(ローカル開発・本番など)に異なる値を設定でき、APIキーなどの機密情報をコードに直接書かずに済むというメリットもあります。

6. 再デプロイ(設定変更後)

ドメインや環境変数を設定・変更した場合は、再デプロイして反映させます。

  1. 「General」タブを開く
  2. 「Deploy」ボタンをクリック
  3. ビルドログを確認し、デプロイが完了するまで待機

デプロイボタン

ドメイン設定は再デプロイなしでも反映されることがありますが、確実に反映させるために再デプロイすることをおすすめします。

7. アプリケーションへのアクセス

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

Domainsタブ

初回デプロイ直後はSSL証明書の取得に数分かかる場合があります。アクセスできない場合は少し待ってから再度お試しください。

デプロイ後、グローバル認証が正しく動作しているか確認するために、InPrivateウィンドウ(Ctrl+Shift+N)でアプリのURLにアクセスしてみてください。以下のようなサインイン画面が表示されれば、認証が正しく設定されています。

Entraサインイン画面

アプリケーションの更新

Zipアップロードでデプロイしたアプリケーションを更新するには:

  1. 更新したソースコードを再度Zipファイルに圧縮
  2. 「Source」セクションで新しいZipファイルをアップロード
  3. 「Deploy」ボタンをクリック

頻繁に更新する場合は、GitHub連携でのデプロイを検討してください。プッシュするだけで自動デプロイされるため、効率的です。

トラブルシューティング

Zipファイルがアップロードできない

  • ファイルサイズが大きすぎないか確認(不要な node_modules などを除外)
  • Zipファイルが破損していないか確認

ビルドが失敗する

  • 「Deployments」タブを開き、「View」ボタンをクリックしてビルドログを確認
  • エラーメッセージをGitHub Copilotにコピペして原因と解決方法を聞く
  • Zipファイルの構造が正しいか確認(ルートにDockerfileがあるか)
  • Dockerfileの構文エラーがないか確認
  • 必要な環境変数が設定されているか確認

アプリケーションにアクセスできない・動作がおかしい

  • 「Logs」タブでアプリケーションログを確認
  • エラーメッセージをGitHub Copilotにコピペして原因と解決方法を聞く
  • ポート番号が正しく設定されているか確認
  • アプリケーションが指定したポートでリッスンしているか確認

Logsタブ

On this page