jpskill.com
🛠️ 開発・MCP コミュニティ

dokku

Dokkuを使って、Herokuのように手軽に自分のサーバーでウェブアプリを公開し、Kubernetesを使わずにgit pushだけでデプロイ環境を構築するSkill。

📜 元の英語説明(参考)

Deploy apps with Dokku — self-hosted Heroku alternative on any VPS. Use when: self-hosting web apps without Kubernetes, setting up git-push deployments, running PaaS on your own server.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Dokkuを使って、Herokuのように手軽に自分のサーバーでウェブアプリを公開し、Kubernetesを使わずにgit pushだけでデプロイ環境を構築するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o dokku.zip https://jpskill.com/download/14846.zip && unzip -o dokku.zip && rm dokku.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14846.zip -OutFile "$d\dokku.zip"; Expand-Archive "$d\dokku.zip" -DestinationPath $d -Force; ri "$d\dokku.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して dokku.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → dokku フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Dokku

概要

Dokku は、あらゆる VPS を Heroku のようなプラットフォームに変えるオープンソースの PaaS です。git push でアプリをデプロイし、プラグインでデータベースを管理し、自動 SSL を取得します。これらすべてを、あなたが管理するインフラストラクチャ上で行います。

VPS へのインストール

# Ubuntu 22.04 (root で実行)
wget -NP . https://dokku.com/install/v0.35.0/bootstrap.sh
sudo DOKKU_TAG=v0.35.0 bash bootstrap.sh

# SSH キーとホスト名の設定
cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin
dokku domains:set-global yourdomain.com

アプリのデプロイ

# VPS 上: アプリの作成
dokku apps:create myapp

# ローカルマシン上: リモートの追加とプッシュ
git remote add dokku dokku@your-server.com:myapp
git push dokku main

Dokku は、ビルドパック (Node.js、Python、Ruby、Go など) を自動検出するか、Dockerfile を使用します。

Procfile

web: node server.js
worker: node worker.js
release: npm run migrate

環境変数

# config vars の設定
dokku config:set myapp NODE_ENV=production SECRET_KEY=abc123

# すべての vars の表示
dokku config:show myapp

# .env ファイルからのインポート
cat .env | xargs dokku config:set myapp

PostgreSQL プラグイン

# プラグインのインストール
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres

# データベースの作成とアプリへのリンク
dokku postgres:create myapp-db
dokku postgres:link myapp-db myapp
# DATABASE_URL を自動的に設定

Redis プラグイン

sudo dokku plugin:install https://github.com/dokku/dokku-redis.git redis
dokku redis:create myapp-redis
dokku redis:link myapp-redis myapp
# REDIS_URL を自動的に設定

カスタムドメイン + SSL

# ドメインの追加
dokku domains:add myapp myapp.com www.myapp.com

# Let's Encrypt プラグインのインストール
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
dokku config:set --global DOKKU_LETSENCRYPT_EMAIL=you@email.com

# SSL の有効化
dokku letsencrypt:enable myapp
dokku letsencrypt:cron-job --add  # 自動更新

ダウンタイムなしのデプロイ

# チェックの有効化 (切り替え前にアプリが応答するのを待機)
dokku checks:enable myapp

# またはローリングリスタートの使用
dokku ps:set-restart-policy myapp always

スケーリング

# web プロセスのスケール
dokku ps:scale myapp web=2 worker=1

# プロセスのステータスの表示
dokku ps:report myapp

永続ストレージ

# ディレクトリのマウント (アップロードなど)
dokku storage:mount myapp /var/lib/dokku/data/storage/myapp:/app/uploads

便利なコマンド

dokku apps:list           # すべてのアプリをリスト表示
dokku logs myapp -t       # ログの末尾を表示
dokku run myapp bash      # コンテナ内でシェルを開く
dokku ps:restart myapp    # アプリを再起動
dokku backup              # すべてのデータをバックアップ

Dockerfile デプロイ

Dokku は、Dockerfile が存在する場合、自動的に使用します。ポートを公開すると、Dokku はトラフィックをそのポートにルーティングします。

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

マルチサーバー構成

# 追加のノードの追加 (Dokku Scheduler)
dokku scheduler:set myapp selected docker-local

# または K8s デプロイメントに Kubernetes scheduler プラグインを使用
sudo dokku plugin:install https://github.com/dokku/dokku-scheduler-kubernetes.git
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Dokku

Overview

Dokku is an open-source PaaS that turns any VPS into a Heroku-like platform. Deploy apps with git push, manage databases with plugins, and get automatic SSL — all on infrastructure you control.

Install on VPS

# Ubuntu 22.04 (run as root)
wget -NP . https://dokku.com/install/v0.35.0/bootstrap.sh
sudo DOKKU_TAG=v0.35.0 bash bootstrap.sh

# Set up SSH key and hostname
cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin
dokku domains:set-global yourdomain.com

Deploy an App

# On your VPS: create app
dokku apps:create myapp

# On your local machine: add remote and push
git remote add dokku dokku@your-server.com:myapp
git push dokku main

Dokku auto-detects buildpacks (Node.js, Python, Ruby, Go, etc.) or uses your Dockerfile.

Procfile

web: node server.js
worker: node worker.js
release: npm run migrate

Environment Variables

# Set config vars
dokku config:set myapp NODE_ENV=production SECRET_KEY=abc123

# View all vars
dokku config:show myapp

# Import from .env file
cat .env | xargs dokku config:set myapp

PostgreSQL Plugin

# Install plugin
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres

# Create database and link to app
dokku postgres:create myapp-db
dokku postgres:link myapp-db myapp
# Sets DATABASE_URL automatically

Redis Plugin

sudo dokku plugin:install https://github.com/dokku/dokku-redis.git redis
dokku redis:create myapp-redis
dokku redis:link myapp-redis myapp
# Sets REDIS_URL automatically

Custom Domains + SSL

# Add domain
dokku domains:add myapp myapp.com www.myapp.com

# Install Let's Encrypt plugin
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
dokku config:set --global DOKKU_LETSENCRYPT_EMAIL=you@email.com

# Enable SSL
dokku letsencrypt:enable myapp
dokku letsencrypt:cron-job --add  # auto-renew

Zero-Downtime Deploys

# Enable checks (waits for app to respond before switching)
dokku checks:enable myapp

# Or use rolling restarts
dokku ps:set-restart-policy myapp always

Scaling

# Scale web processes
dokku ps:scale myapp web=2 worker=1

# View process status
dokku ps:report myapp

Persistent Storage

# Mount a directory (for uploads, etc.)
dokku storage:mount myapp /var/lib/dokku/data/storage/myapp:/app/uploads

Useful Commands

dokku apps:list           # List all apps
dokku logs myapp -t       # Tail logs
dokku run myapp bash      # Open shell in container
dokku ps:restart myapp    # Restart app
dokku backup              # Backup all data

Dockerfile Deploy

Dokku auto-uses your Dockerfile if present. Expose a port and Dokku routes traffic to it:

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

Multi-Server Setup

# Add additional nodes (Dokku Scheduler)
dokku scheduler:set myapp selected docker-local

# Or use Kubernetes scheduler plugin for K8s deployments
sudo dokku plugin:install https://github.com/dokku/dokku-scheduler-kubernetes.git