ADMIN
管理者作成済み
管理用ドメインをHTTPS化し、直接3000番を閉じる
DOKPLOY ON XSERVER VPS
Dokployは、Gitで管理するWebアプリを繰り返しデプロイしたい人に向きます。ただし「管理画面から公開できる」と「安全に運用できる」は別です。まず停止しても困らない1アプリで、公開・更新・復元まで通します。
Git push
対象ブランチ
Build
Nixpacks / Dockerfile
Deploy
Application container
Route
Domain / HTTPS
DB・アップロード・秘密情報は、アプリのコンテナとは分けて守ります。
GO LIVE GATE
ADMIN
管理用ドメインをHTTPS化し、直接3000番を閉じる
SECRETS
Gitへ入れず、環境・サービス単位で権限を絞る
DOMAIN
DNS・HTTPS・Target Port・リダイレクトを確認
RECOVERY
アプリのロールバックとDB復元を別々に試す
FIT CHECK
管理画面型でも、障害時にはサーバー・Docker・アプリの切り分けが必要です。「誰が更新し、誰が戻すか」まで決められる場合にDokployの便利さが生きます。
XServer VPSの公式Dokployマニュアルが案内する通信を起点に、用途別の公開方針を決めます。管理用とアプリ公開用を混同しないことが重要です。
| ポート | 用途 | 公開方針 | 確認点 |
|---|---|---|---|
| TCP 80 | HTTP・証明書処理 | 公開 | HTTPSへの転送と到達性 |
| TCP 443 | HTTPSアプリ公開 | 公開 | 独自ドメインと証明書 |
| TCP 3000 | Dokploy初期管理 | 初期設定時のみ | 管理用HTTPS化後に直接アクセスを閉じる |
| TCP 22 | SSH | 使う場合だけ | SSH鍵・接続元制限・ログ |
| DBポート | PostgreSQL等 | 原則非公開 | アプリ内部通信とバックアップ経路 |
最優先:初期管理画面へ到達したら、第三者より先に管理者を作成します。管理用ドメインとHTTPSを確認した後は、公式マニュアルの手順に沿ってIPアドレス:3000への直接アクセスを無効化します。
まずは停止しても業務へ影響しない検証用アプリを1つ選びます。必要なメモリはDokploy本体だけでなく、ビルド処理、アプリ、データベースの合計で考えます。
本番アプリを最初の練習台にしない。
XServer VPSの申込みまたはOS再インストール画面でDokployを選択します。既存サーバーへ入れ直す場合、OS再インストールでデータが消えるため、必要なデータをVPS外へ退避してから進めます。
現在の対応プランと動作要件は、申込み前に公式情報で確認する。
公式マニュアルを基準にTCP 80・443・3000を確認し、SSHを使う場合のみ22番も扱います。データベースのポートは、外部接続の明確な理由がなければ公開しません。
管理画面の初期設定が終わるまで、3000番を放置しない。
VPSのIPアドレスと3000番ポートで初期画面へ入り、すぐに管理者を作成します。次に管理用ドメインとHTTPSを設定し、確認後はIPアドレス:3000への直接アクセスを閉じます。
管理者作成前の画面を第三者が操作できる状態にしない。
用途ごとにProjectを作り、stagingとproductionをEnvironmentで分けます。その中へApplicationを作成し、同じ秘密情報やデータベースを安易に共有しない構成にします。
検証環境と本番環境の名前・ドメイン・変数を明確に分ける。
GitHub Appを接続し、可能ならOnly select repositoriesで必要なリポジトリだけ許可します。Applicationにリポジトリとブランチを指定し、本番へつながるブランチを確認します。
最初から全リポジトリへの権限を与えない。
アプリに合わせてNixpacksまたはDockerfileを選びます。秘密値はGitへ書かずDokployの環境変数へ登録し、アプリが待ち受けるTarget Portを一致させます。
秘密値をログ、README、設定ファイルへ残さない。
Deploy後にビルドログ、起動ログ、ヘルスチェック、主要画面を確認します。独自ドメインとHTTPSを設定し、更新失敗時の戻し方とDB復元手順がそろってから本番の自動デプロイへ進みます。
『デプロイ成功』だけでなく、利用者の操作まで確認する。
便利な自動デプロイほど、リポジトリ権限とブランチの境界が重要です。GitHub Appは必要なリポジトリだけに限定し、productionへ届く変更にはレビューを挟みます。
| 環境 | ブランチ例 | デプロイ | 役割 |
|---|---|---|---|
| Preview | Pull Request | 必要時に自動 | レビュー前の一時確認 |
| Staging | develop / release | 自動または手動 | 本番と近い条件で動作確認 |
| Production | main | 承認後 | レビュー済み変更だけ反映 |
アプリを自動判定して素早く検証しやすい選択。検出されたランタイム、ビルドコマンド、起動コマンドを必ず確認します。
依存関係や実行環境を細かく固定したい選択。再現性は高めやすい一方、イメージ更新と脆弱性対応も自分で管理します。
APIキー、DBパスワード、認証シークレットはGitへ含めず、Dokployの環境変数として登録します。stagingとproductionで値を分け、漏えい時に交換できる単位へ細分化します。
# Gitに置くのは名前の例まで
DATABASE_URL=
APP_SECRET=
PUBLIC_BASE_URL=
# 実値はDokploy側で環境別に登録AレコードをVPSのIPへ向ける
Dokployへドメインを登録
アプリのTarget Portと合わせる
Let’s Encryptを有効化して確認
DNSやSSLより先に、アプリが起動しているか、0.0.0.0で待ち受けているか、DokployのTarget Portとアプリの待受ポートが一致しているかを確認します。
ゼロダウンタイムはスイッチを入れるだけでは成立しません。新しいコンテナが「起動した」だけでなく、リクエストを処理できる状態かをDokployが判断できるようにします。
HEALTH
DB接続など最低限の依存先も含め、短時間で応答する確認URLを用意。
OBSERVE
CPU・メモリ・ディスク、HTTP応答、デプロイログを分けて確認。
ROLLBACK
何分・どのエラー率で旧版へ戻すかを更新前に決める。
Gitリポジトリと、正常稼働したコミットを記録
プロジェクト・ドメイン・変数名・権限の棚卸し
アップロードやVolumeをVPS外へ定期コピー
論理バックアップを取得し、別環境で復元テスト
| 手段 | 戻せるもの | 戻らないもの |
|---|---|---|
| アプリのロールバック | アプリのイメージ・コード | DB内のデータ、外部サービス、削除済みファイル |
| DBの復元 | 取得時点のDBデータ | アプリコード、Volume、バックアップ後の更新 |
スキーマ変更を含む更新では、旧アプリが新しいDBを読めない場合があります。コードを戻す手順とDBを戻す手順をセットで検証してください。
| 症状 | 最初に見る場所 | 主な確認 |
|---|---|---|
| ビルドが失敗 | Deployment logs | ランタイム、依存関係、ビルド方式、コマンド |
| 502が出る | Application logs | 起動状態、待受IP、Target Port、ヘルスチェック |
| SSLが発行されない | DNS / Domains | Aレコード、80・443番、ドメイン表記 |
| pushしても反映されない | Git provider | GitHub App権限、リポジトリ、対象ブランチ |
| 環境変数が反映されない | Environment settings | 変数の範囲、保存、再デプロイ |
| 突然ビルドできない | Disk / Images / Logs | ディスク残量、古いイメージ、ログ、バックアップ |
プラン、料金、キャンペーン、アプリイメージの対応状況は変わります。契約直前に公式画面で最新条件と支払総額を確認してください。
XServer VPSの最新条件を見るいいえ。Git連携、ビルド、ドメイン設定は管理画面から行いやすくなりますが、OS・Docker・Dokployの更新、アクセス制御、監視、容量管理、バックアップと復元は利用者側の運用です。
まず短時間で検証したい一般的なアプリならNixpacksが候補です。OSパッケージ、ビルド工程、実行ユーザー、イメージを細かく固定したい場合はDockerfileが向きます。本番では再現性を確認して選んでください。
GitHub Appと対象ブランチを設定すれば自動デプロイに使えます。ただし、本番ブランチはレビューや承認を経て更新し、stagingで確認してから反映する運用が安全です。
初期設定では使用しますが、公式マニュアルは管理用ドメインとHTTPSの設定後にIPアドレス:3000へのアクセスを無効化する手順を案内しています。設定後に外部から到達できないことまで確認してください。
通常、アプリのロールバックとデータベースの復元は別です。旧アプリが新しいDBスキーマを読めない場合もあるため、変更前にDBの論理バックアップを取得し、復元手順を検証してください。
DokployはTraefikを使ったドメイン設定とLet’s EncryptによるHTTPSに対応しています。DNSのAレコード、80・443番ポート、Target Portが正しいかを順に確認します。
広告・免責:本記事にはアフィリエイト広告が含まれます。申込みが成立すると当サイトが報酬を受け取る場合があります。掲載内容は確認日時点の情報であり、料金・仕様・提供条件を保証するものではありません。契約・作業前に必ず公式情報とバックアップをご確認ください。