最終更新日: 2025年11月6日

テンプレート説明

Zulipは、ストリームとトピックによる独自のスレッド構造を採用したオープンソースのチームコラボレーションツールです。リアルタイムチャットと非同期コミュニケーションの両方をサポートし、リモートワークやオープンソースプロジェクトの効率的な情報共有を実現します。Fortune 500企業や世界中のオープンソースプロジェクトで広く利用されています。

本テンプレートでは、Zulipをすべての依存関係を含むDocker環境で自動セットアップします。インストール完了後、組織作成用のランダムURLが生成されるため、セキュアな初期設定が可能です。

メモ

本テンプレートではインストール完了後にサービスが起動状態となります。初期管理者設定画面へのアクセスは、インストール時に生成される推測不可能なランダムURLでのみ可能なため、第三者による不正アクセスのリスクは低く抑えられています。

仕様

対応OSイメージ

Ubuntu 24.04 LTS

主要ソフトウェア

ソフトウェア名 バージョン ライセンス 用途
Zulip latest Apache 2.0 チームコラボレーションプラットフォーム
Docker latest Apache 2.0 コンテナ仮想化プラットフォーム
Docker Compose latest Apache 2.0 マルチコンテナDocker管理ツール
PostgreSQL 14 PostgreSQL License リレーショナルデータベース
Redis alpine BSD-3-Clause キャッシュ・セッション管理
RabbitMQ 3.13-alpine MPL 2.0 メッセージキューシステム
Memcached alpine BSD-3-Clause 分散メモリキャッシュシステム
Nginx latest BSD-2-Clause Webサーバー・リバースプロキシ
Let’s Encrypt latest MPL 2.0 SSL/TLS証明書発行

スタートアップスクリプト情報

項目 説明
アプリケーション利用ポート 80/tcp (HTTP), 443/tcp (HTTPS)
インストールディレクトリ /opt/zulip
管理スクリプト /root/zulip-*.sh
初期状態 サービス起動中
ドメイン設定 ConoHa逆引きDNS自動検出(カスタムドメイン指定可能)

その他

最小システム要件

  • CPU: 1コア以上(100+ユーザーの場合は2コア以上推奨)
  • メモリ: 最小2GB + 2GB swap、推奨4GB以上(100+ユーザーの場合)
  • ディスク容量: 10GB以上(SSD推奨)
  • ネットワーク: パブリックIPアドレス、ポート80/443へのアクセス

メモ

Zulipは100名以下の小規模チームから大規模組織まで柔軟にスケールします。公式ドキュメントでは、100名以上のユーザーを想定する場合は2CPU/4GBメモリ以上を推奨しています。本テンプレートでは、メモリ4GB以上のVPSプランでのご利用を推奨いたします。

利用手順

メモ

スタートアップスクリプトにてアプリケーションのインストールが完了するまで数分かかります。
インストール完了後、rootディレクトリに「zulip-info.txt」というファイルが作成されますのでご確認ください。
ファイルが存在しない場合、作成されるまでしばらくお待ちください。

Step 0: セキュリティグループについて

ConoHa VPS(Ver.3.0)ではサーバー毎にIPアドレスまたはポートでトラフィックを制御するセキュリティグループ(仮想ファイアウォール)が設定されます。
本テンプレートをご利用の場合は、予め利用するポートの通信許可設定が必要です。
詳細はセキュリティグループを参照してください。

Step 1: VPSへの接続

VPSが起動したら、SSH接続を行います。

# ssh root@[VPSのIPアドレス]

メモ

インストール完了までには数分程度かかります。スタートアップスクリプトの実行状況は、SSH接続後に以下のコマンドで確認できます:

# tail -f /var/log/zulip-install.log

Step 2: インストール情報の確認

インストールが完了すると、組織作成用のURLやシステム情報が記載されたファイルが生成されます。このファイルから組織作成リンクを確認してください。

# cat /root/zulip-info.txt

重要

組織作成リンク(Setup Link)は推測不可能なランダムURLです。このリンクはZulip組織の初期管理者を作成する際に必要となります。リンクは安全に管理し、初期セットアップが完了するまで外部に共有しないでください。

Step 3: 初期セットアップ(組織・管理者作成)

ブラウザでStep 2で確認した組織作成リンクにアクセスし、以下の手順で初期設定を行います:

  1. 組織名の入力: チームや企業の名称を入力します
  2. 管理者アカウント作成: メールアドレスとパスワードを設定します
  3. 初期設定完了: 組織の基本設定を行い、ログインします

メモ

初回アクセス時、自己署名SSL証明書による警告が表示される場合があります。ブラウザの「詳細設定」→「続行」をクリックしてアクセスしてください。Let’s Encrypt証明書への切り替えは、Step 4で行うことができます。

Step 4: HTTPS設定(Let’s Encrypt証明書への切り替え)

運用環境では、Let’s Encrypt証明書による正式なHTTPS設定を推奨します。

前提条件

  • 独自ドメインのAレコードがVPSのIPアドレスを指していること
  • ポート80が外部からアクセス可能であること

証明書取得手順

下記コマンドの「[email protected]」は自身のメールアドレスに置き換えてください。

# /root/zulip-letsencrypt.sh -e [email protected]

このスクリプトは以下を自動実行します:

  • Let’s Encrypt証明書の取得
  • 証明書のZulipへの適用
  • 証明書自動更新設定(ランダムな時刻に1日2回実行)

メモ

Let’s Encrypt証明書は90日間有効です。本スクリプトにより、証明書は自動的に更新されます。更新処理は1日2回(12時間ごと)にランダムな遅延を含めて実行され、証明書の有効期限が30日以内になると自動更新されます。

Step 5: ドメイン変更(オプション)

後からカスタムドメインに変更する場合は、以下のスクリプトを使用します。下記コマンドの「your-domain.com」は自身の独自ドメインに置き換えてください。

# /root/zulip-change-domain.sh -d your-domain.com

このスクリプトは以下を実行します:

  • Zulipサービスの一時停止
  • ホスト名とDocker Compose設定の更新
  • サービスの再起動

重要

ドメイン変更後は、新しいドメインでLet’s Encrypt証明書を再取得する必要があります。Step 4の手順を新しいドメインで実行してください。

Step 6: システム診断

Zulipの動作状況を確認するには、診断スクリプトを実行します。

# /root/zulip-diagnose.sh

診断スクリプトでは以下の情報を確認できます:

  • Dockerサービスの状態
  • Zulipコンテナの稼働状況
  • ドメイン設定とIPアドレス
  • ポート80/443の待ち受け状態
  • 最近のログ(直近10行)

管理スクリプト一覧

スクリプト名 機能 使用例
zulip-diagnose.sh システム診断 # /root/zulip-diagnose.sh
zulip-letsencrypt.sh Let’s Encrypt証明書設定 # /root/zulip-letsencrypt.sh -e [email protected]
zulip-change-domain.sh ドメイン変更 # /root/zulip-change-domain.sh -d new.domain.com

基本的なDocker操作

Zulipサービスの起動・停止・再起動は、以下のコマンドで実行できます。

サービスの起動

# cd /opt/zulip && docker-compose up -d

サービスの停止

# cd /opt/zulip && docker-compose down

サービスの再起動

# cd /opt/zulip && docker-compose restart

コンテナ状態の確認

# docker ps --filter name=zulip

ログの確認

# docker logs zulip-zulip-1 -f

セキュリティグループ設定

以下のポートを開放する必要があります。

ポート番号 プロトコル 用途 必須/オプション
22 TCP SSH 任意
80 TCP HTTP 必須
443 TCP HTTPS 推奨

セキュリティ重要

本スクリプトでは、UFW(Uncomplicated Firewall)が自動的に設定され、上記のポートのみが開放されます。セキュリティ向上のため、必要に応じてSSHポートの変更や、特定IPアドレスからのアクセス制限を追加で設定することを推奨します。

アプリケーションの具体的な利用方法につきましては、サービス開発元やサービス提供元の公式サイト、Wikiなどで最新情報をご確認ください。

サイト名 URL 説明
Zulip公式サイト https://zulip.com/ プロダクト情報・機能紹介
Zulip公式ドキュメント https://zulip.readthedocs.io/ 技術ドキュメント・インストールガイド
ZulipのGitHubリポジトリ https://github.com/zulip/zulip ソースコード・イシュートラッカー
Zulip Help Center https://zulip.com/help/ エンドユーザー向けヘルプセンター
Zulip Community https://chat.zulip.org/ 開発者コミュニティ・サポートチャット