Team-Container
Team-Container ist eine Sammlung von Containern, die Ihren eigenen Kollaborationsserver einrichten. Dieses Setup ist für die Verwendung in Verbindung mit einem Zeitschriftenartikel im c't-Magazin gedacht. Siehe (https://www.heise.de/select/ct/2020/9/2007712573850503640). Der Artikel befindet sich hinter einer Paywall, die Einrichtung funktioniert aber auch ohne den Artikel.
Werkzeuge in dieser Sammlung
- Traefik Router
- Nextcloud
- Rocket.Chat
- Jitsi-Treffen
- Öffnet Folien
- Plik
Ziel, Voraussetzungen und Architektur
Das Ziel besteht darin, einem kleinen bis mittelgroßen Team einen privaten Kollaborationsserver bereitzustellen, der wesentliche Dienste bereitstellt und Ihnen gleichzeitig die Kontrolle darüber gibt, wo die Daten gespeichert werden. Die Leistungen sind:
- Nextcloud zum Teilen von Dokumenten und Kalendern
- Rocket.Chat für gut organisierten browserbasierten Text-Chat. Es stehen Apps für mobile Plattformen zur Verfügung.
- Jitsi Meet für browserbasierte Videokonferenzen. Es stehen Apps für mobile Plattformen zur Verfügung.
- Openslides für die Verwaltung von Versammlungen für Vereine und Organisationen
- Plik ist ein skalierbares und benutzerfreundliches temporäres Datei-Upload-System (wie Wetransfer).
Alles was Sie brauchen ist
- Ein Linux-Server, vorzugsweise mit Ubuntu 18.04 LTS oder einem anderen Debian GNU/Linux-Derivat. Für einige Hosting-Anbieter gibt es im Wiki eine Kompatibilitätsliste.
- Ein Domänenname, z. B. example.org, und vier Subdomänen, die auf Ihren Server verweisen, z. B. www.example.org, cloud.example.org, chat.example.org und video.example.org
- Grundlegende Erfahrung mit dem Linux-Terminal
Kenntnisse in Container-Technologie oder anderen typischen Linux-Admin-Themen sind nicht erforderlich.
Der erste Container ((Kubernetes, Rancher, Helm), den Sie installieren, enthält Traefik. Traefik leitet eingehenden Datenverkehr entweder an den Webserver Nginx oder einen der anderen drei Container weiter, die Sie anschließend installieren. Jeder dieser Container führt eine Instanz von Nextloud, Rocket, aus. Chat oder Jitsi Meet basieren auf dem beim Einrichten der Container angegebenen Servernamen. Alle vier Server sollten den gleichen Domänennamen haben.
Roadmap / Mitwirken
Viele Verbesserungen stehen auf unserer Agenda. Werfen Sie einen Blick auf das Projektboard auf GitHub und erstellen Sie gerne ein Problem oder eine PR!
Erste Schritte
- Bereiten Sie einen Server mit einer aktuellen Version des Linux-Servers vor (getestet mit Ubuntu Server 18.04 LTS).
- Richten Sie vier DNS-Einträge für Ihren Server ein (z. B. www.example.org, cloud.example.org, chat.example.org, video.example.org).
- Klonen Sie dieses Repository:
git clone https://github.com/ct-open-source/team-container
- Navigieren Sie in den Ordner Team-Container
- Führen Sie
sudo install.sh
aus - Öffnen Sie „values-setup.yaml“. Geben Sie Ihre E-Mail-Adresse ein, setzen Sie „Production“ auf „True“, geben Sie den Hauptservernamen (z. B. www) und den Domänennamen ein.
- Installieren Sie Traefik, den Router:
helm install setup team-setup --values values-setup.yaml
- Warten Sie ein paar Minuten, bis https://yourserver.example.com die Nginx-Willkommensseite mit einem gültigen Let's Encrypt TLS-Zertifikat zurückgibt. Traefik und Nginx sind jetzt funktionsfähig.
Installieren Sie Nextcloud
- Öffnen Sie „values-nextcloud.yaml“. Geben Sie den Servernamen (z. B. Cloud), den Domänennamen (z. B. example.org), einen Namen für den Nextcloud-Administrator und das anfängliche Passwort für den Nextcloud-Administrator ein.
- Nextcloud installieren:
helm install nextcloud team-nextcloud --values values-nextcloud.yaml
- Nach wenigen Minuten ist Ihr eigener Nextcloud-Server unter https://cloud.example.org betriebsbereit. Sie können sich als Administrator mit dem Passwort anmelden, das Sie im letzten Schritt angegeben haben. Fahren Sie fort und fügen Sie reguläre Benutzer hinzu. Oder
Installieren Sie Rocket.Chat
- Öffnen Sie „values-chat.yaml“. Geben Sie den Servernamen (z. B. Chat), den Domänennamen (z. B. example.org), einen Namen für den Rocket.Chat-Administrator, das anfängliche Passwort für den Rocket.Chat-Administrator und seine E-Mail-Adresse ein.
- installiere Rocket.Chat:
helm install chat team-chat --values values-chat.yaml
- Nach wenigen Minuten ist Ihr eigener Rocket.Chat-Server unter https://chat.example.org betriebsbereit. Sie können sich als Administrator mit dem Passwort anmelden, das Sie im letzten Schritt angegeben haben. Fahren Sie fort und fügen Sie reguläre Benutzer hinzu.
Installieren Sie Jitsi Meet
- Öffnen Sie „values-video.yaml“. Geben Sie den Servernamen (z. B. Video) und den Domänennamen (z. B. example.org) ein.
- Jitsi Meet installieren:
helm install video team-video --values values-video.yaml
- Nach wenigen Minuten ist Ihr eigener Jitsi Meet-Videochat-Server unter https://video.example.org betriebsbereit.
- Hilfe zur Nutzung der Dienste finden Sie auf den oben genannten Projektwebsites.
Openslides (Software für Baugruppen) installieren
- Öffnen Sie „values-openslides.yaml“. Geben Sie den Servernamen (z. B. Club) und den Domänennamen (z. B. example.org) ein.
- Openslides installieren:
helm install openslides team-openslides --values values-openslides.yaml
- Nach wenigen Minuten ist Ihr eigener Openslides-Server unter https://club.example.org betriebsbereit.
- Hilfe zur Nutzung der Dienste finden Sie auf den oben genannten Projektwebsites.
Zu erledigen / Bekannte Probleme
- Funktioniert nicht mit IPv6 (Probleme bei der Zertifikatserstellung)