Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

VPSにKamalをセルフホスティングする方法(完全ガイド)

このステップバイステップガイドで、VPSにKamalをインストールする方法を学びましょう。開発者やホームラボ愛好者が自身でホスティングできるインスタントメッセージングソリューションを目指すのに理想的です。

Kamalをセルフホスティングすることで、プライバシー重視のオープンソースの代替通信プラットフォームを利用できます。このガイドでは、Dockerコンテナを使ったVPSへのKamalの展開方法を説明します。完全な制御を求める開発者やホームラボ愛好者に適した方法です。

前提条件

次に進む前に、次のものを用意してください:

VPSプロバイダーの選択

コスト効率的なセルフホスティングのために、以下のオプションを比較してください:

プロバイダー価格機能アフィリエイトリンク
Contabo VPS5.99 EUR/月大容量RAM、SSDストレージContabo VPS
Hetzner Cloud4.15 EUR/月高性能、SSDHetzner Cloud
DigitalOcean6 USD/月簡単設定、豊富なドキュメントDigitalOcean
Vultr6 USD/月グローバルデータセンターVultr
Linode5 USD/月バランスの取れたスペック、信頼性Linode

より詳細な比較は、[フルVPS比較]ページを参照してください。

VPSの設定

  1. VPSのデプロイ - お好みのプロバイダーを選び、最小限のLinuxディストリビューション(Ubuntu 22.04推奨)をデプロイします。
  2. SSHで接続:
ssh ユーザー名@あなたの-vps-ip
  1. システムの更新:
sudo apt update && sudo apt upgrade -y
  1. Dockerのインストール:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
  1. Dockerのインストール確認:
docker --version

Dockerを使ったKamalのデプロイ

Kamalは、展開を簡略化するDockerイメージを提供しています。以下の手順に従ってください。

1. Docker Composeファイルの作成

Kamal用のディレクトリを作成します:

mkdir kamal && cd kamal

docker-compose.ymlを作成します:

version: '3'

services:
  kamal:
    image: kamalio/kamal:latest
    container_name: kamal
    restart: unless-stopped
    environment:
      - DOMAIN=yourdomain.com
      - PORT=8080
      - DEFAULT_CLUSTER_NAME=kamal-cluster
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./config:/app/config

yourdomain.comは実際のドメイン名またはローカルテスト時のVPS IPに置き換えてください。

2. SSLの設定(任意だが推奨)

Certbotを使ってSSL証明書を取得:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

docker-compose.yml内のSSL用環境変数を更新するか、SSLを処理するリバースプロキシ(例:nginx)を構築してKamalを運用します。

3. Kamalの起動

docker-compose up -d

コンテナが稼働しているか確認:

docker ps

これで、あなたのKamalインスタンスはドメインまたはVPSのIP経由でアクセス可能です。

追加設定

Kamalは、インテグレーション、ユーザー認証、カスタマイズ可能なテーマをサポートします。これらは環境変数やマウントした設定ファイルを通じて設定します。

ユーザー管理

ウェブインターフェースやAPIを用いてユーザーを作成します。常にHTTPSと強力な資格情報でセキュリティを向上させてください。

セキュアに運用するためのヒント

よくある質問

1. Kamalとは何ですか?セルフホストするメリットは?

Kamalは、プライバシーと柔軟性を重視したオープンソースの分散型メッセージングプラットフォームです。セルフホスティングすることで、データの完全なコントロールやカスタマイズが可能となり、プロプライエタリなクラウドサービスへの依存を減らせます。これは、r/selfhostedコミュニティや awesome-selfhosted でも推奨されている方法です。プライバシー重視のチャットサーバーを求めるユーザーに最適です。

2. このVPSプロバイダーどこでもKamalをインストールできますか?

はい。Kamalは、DockerサポートのあるLinuxベースのVPSであればどこでも動作します。Contabo、Hetzner、DigitalOcean、Vultr、Linodeなどのプロバイダーは、AMD64またはARMアーキテクチャに対応しており、Dockerと互換性があります。想定するユーザーベースに十分なリソースを持つプロバイダーを選び、少なくとも1GBのRAMを確保してください。

3. Kamalのインストールを安全かつ最新の状態に保つには?

定期的にDockerイメージを更新しユーザービリティを保つために次のコマンドを実行します:

docker-compose pull
docker-compose up -d

SSL終端を行うリバースプロキシ(NginxやCaddy)を使い、セキュリティを強化しましょう。ファイアウォール(ufwやfirewalld)を設定し、必要なポートだけを開放してください。サーバーのOSも最新のセキュリティアップデートを適用します。さらに、KamalやそのAPIが対応している場合は、二要素認証(2FA)の導入も検討してください。

最後のアドバイス

これらの手順を踏むことで、あなたはプライバシーと自主性を保ったセルフホストのKamalチャットサーバーをVPS上に構築できます。さらにツールや展開オプションについては、[フルVPS比較]ページもご覧ください。 --- END ---