概要
Dokployは、VercelやNetlify、Herokuといった商用デプロイメントプラットフォームの代替として機能するオープンソースツール。自分が管理するサーバーやクラウドインスタンス上で動作し、複数アプリの一元管理、リソースモニタリング、複数ノード対応など、通常は有料機能として提供される機能をすべて自由に利用できる。
主な機能
- マルチアプリケーション対応:Node.js、PHP、Python、Go、Rubyなど、あらゆる言語・フレームワークのアプリケーションをデプロイ可能
- データベース管理:MySQL、PostgreSQL、MongoDB、MariaDB、libsql、Redisを作成・管理できる
- 自動バックアップ:データベースのバックアップを外部ストレージに自動化
- Docker Compose対応:複雑なアプリケーション構成をネイティブサポート
- 複数ノード対応:Docker Swarmを利用して複数ノードへのスケーリングが可能
- テンプレートデプロイ:Plausible、Pocketbase、Calcomなどのオープンソーステンプレートをワンクリックでデプロイ
- Traefik統合:ルーティングとロードバランシングを自動化
- リアルタイムモニタリング:CPU、メモリ、ストレージ、ネットワーク使用量を監視
- Docker管理:Dockerコンテナの簡単なデプロイと管理
- CLI/API:コマンドラインまたはAPIを通じたアプリケーション・データベース管理
- 通知機能:デプロイの成功・失敗を通知(Slack、Discord、Telegram、Emailなど対応)
- マルチサーバー対応:外部サーバーへのリモートデプロイと管理が可能
- セルフホスト対応:VPS上でDokploy自体をホストして運用
技術スタック
- 対応言語:Node.js、Python、Ruby、Go
- コンテナ化:Docker、Docker Compose
- オーケストレーション:Docker Swarm
- 対応データベース:MySQL、PostgreSQL、MongoDB、MariaDB、libsql、Redis
導入方法
- サーバー準備:Ubuntu 20.04以上を推奨
- Dokployインストール:
curl -sSL https://dokploy.com/install.sh | sh - 初期設定:管理者アカウントを作成
- アプリケーション連携:デプロイ対象のアプリケーションを登録
- 環境設定:必要な環境変数を設定してデプロイ実行
競合との立場
Dokployの特徴は「完全オープンソース」かつ「自前インフラ対応」の組み合わせにある。商用プラットフォームとは異なり、ソースコードが公開されているため、ベンダーロックインの心配がない。セルフホスト環境での長期運用を想定すれば、継続的なコスト削減が見込める。
活用シーン
開発初期段階での迅速なデプロイ:アプリケーションの開発・テスト環境を自前インフラ上に迅速に構築でき、本運用へのスケールアップもインフラ拡張で対応可能。
内部ツール・ダッシュボード運用:社内向けアプリケーションを自社インフラに展開することで、データの外部流出を防ぎながら、実装・デプロイの効率性を確保。
複数プロジェクトの集約管理:単一のDokployインスタンスで複数のWebアプリケーションを管理でき、インフラコストの効率化が実現できる。
こんな人におすすめ
- インフラコスト最適化を重視する開発チーム:商用プラットフォームの従量課金に比べ、セルフホスト環境での固定コスト運用が可能
- セルフホストとコンテナ運用に習熟したエンジニア:Dokployの柔軟性をフルに活かしたカスタマイズが実現できる
- オープンソース志向の開発組織:ベンダーロックインを避け、カスタマイズの自由度を重視する場合に最適
- 複数プロジェクトを一元管理する企業・エージェンシー:インスタンス台数ベースの費用体系で経済的な運用が可能
- 本番環境の完全な可視性・制御が必要な企業:すべてのログ、デプロイプロセス、リソース利用状況を自社で把握でき、監査対応にも有利