Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator
Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Rocket.Chat werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um Rocket.Chat neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Rocket.Chat abspeichen. Dazu geben wir folgendes in der Konsole ein:
mkdir -p /opt/containers/rocketchat/{uploads,data/db}
Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.
Nun können wir mit der eigentlichen „Installation“ von Rocket.Chat beginnen. Dazu öffnet ihr folgende Datei:
nano /opt/containers/rocketchat/docker-compose.yml
Nun kopiert ihr folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren Rocket.Chat Container:
version: '2'
services:
rocketchat:
image: rocketchat/rocket.chat:latest
command: >
bash -c
"for i in `seq 1 30`; do
node main.js &&
s=$? && break || s=$?;
echo \"Tried $i times. Waiting 5 secs...\";
sleep 5;
done; (exit $s)"
restart: unless-stopped
volumes:
- ./uploads:/app/uploads
environment:
- PORT=3000
- ROOT_URL=http://localhost:3000
- MONGO_URL=mongodb://mongo:27017/rocketchat
- MONGO_OPLOG_URL=mongodb://mongo:27017/local
#- MAIL_URL=smtp://smtp.email
depends_on:
- mongo
networks:
- default
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.rocketchat.entrypoints=http"
- "traefik.http.routers.rocketchat.rule=Host(`chat.euredomain.de`)" # Hier eure URL eingeben #
- "traefik.http.middlewares.rocketchat-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.rocketchat.middlewares=rocketchat-https-redirect"
- "traefik.http.routers.rocketchat-secure.entrypoints=https"
- "traefik.http.routers.rocketchat-secure.rule=Host(`chat.euredomain.de`)" # Hier eure URL eingeben #
- "traefik.http.routers.rocketchat-secure.tls=true"
- "traefik.http.routers.rocketchat-secure.tls.certresolver=http"
- "traefik.http.routers.rocketchat-secure.service=rocketchat"
- "traefik.http.services.rocketchat.loadbalancer.server.port=3000"
- "traefik.docker.network=proxy"
- "traefik.http.routers.rocketchat-secure.middlewares=secHeaders@file"
mongo:
image: mongo:4.0
restart: unless-stopped
volumes:
- ./data/db:/data/db
command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
networks:
- default
# this container's job is just run the command to initialize the replica set.
# it will run the command and remove himself (it will not stay running)
mongo-init-replica:
image: mongo:4.0
command: >
bash -c
"for i in `seq 1 30`; do
mongo mongo/rocketchat --eval \"
rs.initiate({
_id: 'rs0',
members: [ { _id: 0, host: 'localhost:27017' } ]})\" &&
s=$? && break || s=$?;
echo \"Tried $i times. Waiting 5 secs...\";
sleep 5;
done; (exit $s)"
depends_on:
- mongo
networks:
- default
networks:
proxy:
external: true
Nun müssen wir noch den Hostnamen anpassen.
Nun müsst ihr noch den Hostnamen anpassen, über welchen später Rocket.Chat erreichbar sein soll.
Diese beiden Zeilen müsst ihr anpassen:
- "traefik.http.routers.rocketchat.rule=Host(`chat.euredomain.de `)"
- "traefik.http.routers.rocketchat-secure.rule=Host(`chat.euredomain.de`)"
In meinem Fall also:
- "traefik.http.routers.rocketchat.rule=Host(`chat.testbereich.net`)"
- "traefik.http.routers.rocketchat-secure.rule=Host(`chat.testbereich.net`)"
Wenn ihr Rocket.Chat direkt auf eurer „Hauptdomain“ betreiben wollt, dann ändert ihr es folgendermaßen ab:
"traefik.http.routers.rocketchat.rule=Host(`www.euredomain.de`,`euredomain.de`)"
"traefik.http.routers.rocketchat-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"
Gebt nun folgendes ein, um euren Rocket.Chat Container zu starten:
docker-compose -f /opt/containers/rocketchat/docker-compose.yml up -d
Nun müsst ihr einige Minuten warten, bis die Container fertig gestartet sind. Anschließend geht ihr auf eure Domain. Bei mir ist dies: chat.testbereich.net
Ihr solltet nun folgendes sehen:
Hier müsst ihr nun die Daten des Administrators eingeben.
Anschließend kommt folgende Meldung:
Klickt hier auf „Ja“.
Als nächstes sollt ihr eure Organisation / Firma beschreiben. DIES IST FREIWILLIG
Nun könnt ihr noch einige Serverinformationen eintragen.
Nun müsst ihr noch euren Server Modus wählen.
Nun seid ihr schon fertig mit der Konfiguration.
Wenn ihr nun weiter klickt, seid ihr in der normalen Benutzeroberfläche und könnt jetzt weitere Einstellungen tätigen oder einfach chatten.