チームコンテナ
チームコンテナーは、独自のコラボレーション サーバーをセットアップするコンテナーのコレクションです。このセットアップは、c't マガジンの雑誌記事と組み合わせて使用することを目的としています。 (https://www.heise.de/select/ct/2020/9/2007712573850503640)を参照してください。記事はペイウォールの内側にありますが、セットアップは記事がなくても機能します。
このコレクションのツール
- Træfik ルーター
- ネクストクラウド
- ロケットチャット
- ジッツィ・ミート
- スライドを開く
- プリク
目標、前提条件、アーキテクチャ
目標は、データの保存場所をユーザーが制御しながら、重要なサービスを提供できるプライベート コラボレーション サーバーを中小規模のチームに提供することです。サービスは次のとおりです。
- ドキュメントやカレンダーを共有するためのNextcloud
- Rocket.Chat は、よく整理されたブラウザベースのテキスト チャットです。モバイル プラットフォーム用のアプリが利用可能です。
- ブラウザベースのビデオ会議用のJitsi Meet 。モバイル プラットフォーム用のアプリが利用可能です。
- クラブや組織の集会を管理するためのオープンスライド
- Plik は、スケーラブルで使いやすい一時ファイル アップロード システム (wetransfer と同様) です。
必要なのは
- Linux サーバー。できれば Ubuntu 18.04 LTS または別の Debian GNU/Linux 派生を実行します。一部のホスティング プロバイダーの互換性リストが Wiki にあります。
- ドメイン名 (例: example.org) とサーバーを指す 4 つのサブドメイン (例: www.example.org、cloud.example.org、chat.example.org、video.example.org)
- Linuxターミナルの基本的な経験
コンテナー テクノロジーやその他の一般的な Linux 管理トピックに関する知識は必要ありません。
インストールする最初のコンテナー ((Kubernetes、Rancher、helm) には Traefik が含まれています。Traefik は、受信トラフィックを Web サーバー nginx または後でインストールする他の 3 つのコンテナーのいずれかにルーティングします。これらの各コンテナーは Nextloud、Rocket のインスタンスを実行します。チャットまたは Jitsi Meet。ルーティングの決定は、コンテナーのセットアップ時に指定されたサーバー名に基づいて行われます。4 つのサーバーはすべて同じドメイン名を持つ必要があります。
ロードマップ / 貢献
多くの改善が私たちの課題となっています。 GitHub のプロジェクト ボードを見て、お気軽に問題や PR を作成してください。
はじめる
- 現在のバージョンの Linux サーバーを使用してサーバーを準備します (Ubuntu Server 18.04 LTS でテスト済み)
- サーバーに 4 つの DNS エントリを設定します (例: www.example.org、cloud.example.org、chat.example.org、video.example.org)
- このリポジトリのクローンを作成します:
git clone https://github.com/ct-open-source/team-container
- フォルダー「team-container」に移動します
sudo install.sh
を実行します- 「values-setup.yaml」を開きます。電子メール アドレスを入力し、production を true に設定し、メイン サーバー名 (www など) とドメイン名を入力します。
- Traefik、ルーターをインストールします:
helm install setup team-setup --values values-setup.yaml
- https://yourserver.example.com が有効な Let's Encrypt TLS 証明書を使用した nginx ウェルカム ページを返すまで、数分待ちます。 Traefik と nginx が機能するようになりました。
Nextcloudをインストールする
- 「values-nextcloud.yaml」を開きます。サーバー名 (cloud など)、ドメイン名 (example.org など)、Nextcloud 管理者の名前、および Nextcloud 管理者の初期パスワードを入力します。
- Nextcloud をインストールします:
helm install nextcloud team-nextcloud --values values-nextcloud.yaml
- 数分後、独自の Nextcloud サーバーが起動し、https://cloud.example.org で実行されます。最後の手順で指定したパスワードを使用して、管理者としてログインできます。続行して通常のユーザーを追加します。または
Rocket.Chat をインストールする
- 「values-chat.yaml」を開きます。サーバー名 (チャットなど)、ドメイン名 (example.org など)、Rocket.Chat 管理者の名前、Rocket.Chat 管理者の初期パスワード、および電子メール アドレスを入力します。
- Rocket.Chat をインストールします:
helm install chat team-chat --values values-chat.yaml
- 数分後、独自の Rocket.Chat サーバーが起動し、https://chat.example.org で実行されます。最後の手順で指定したパスワードを使用して、管理者としてログインできます。続行して通常のユーザーを追加します。
Jitsi Meet をインストールする
- 「values-video.yaml」を開きます。サーバー名 (例: video) とドメイン名 (例: example.org) を入力します。
- Jitsi Meet をインストールします:
helm install video team-video --values values-video.yaml
- 数分後、独自の Jitsi Meet ビデオ チャット サーバーが https://video.example.org で起動し、実行されます。
- サービスの使用方法については、上記のプロジェクト Web サイトを参照してください。
Openslides (アセンブリ用ソフトウェア) をインストールする
- 「values-openslides.yaml」を開きます。サーバー名 (例: club) とドメイン名 (例: example.org) を入力します。
- Openslides をインストールします:
helm install openslides team-openslides --values values-openslides.yaml
- 数分後、独自の Openslides サーバーが起動し、https://club.example.org で実行されます。
- サービスの使用方法については、上記のプロジェクト Web サイトを参照してください。
やるべきこと/既知の問題