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/
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: '3'
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:${RELEASE:-latest}
restart: on-failure
environment:
MONGO_URL: "${MONGO_URL:-\
mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\
${MONGODB_DATABASE:-rocketchat}?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}"
MONGO_OPLOG_URL: "${MONGO_OPLOG_URL:\
-mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\
local?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}"
ROOT_URL: ${ROOT_URL:-http://localhost:${HOST_PORT:-3000}}
PORT: ${PORT:-3000}
DEPLOY_METHOD: docker
DEPLOY_PLATFORM: ${DEPLOY_PLATFORM}
depends_on:
- mongodb
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"
networks:
- proxy
- default
mongodb:
image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-4.4}
restart: on-failure
volumes:
- mongodb_data:/bitnami/mongodb
environment:
MONGODB_REPLICA_SET_MODE: primary
MONGODB_REPLICA_SET_NAME: ${MONGODB_REPLICA_SET_NAME:-rs0}
MONGODB_PORT_NUMBER: ${MONGODB_PORT_NUMBER:-27017}
MONGODB_INITIAL_PRIMARY_HOST: ${MONGODB_INITIAL_PRIMARY_HOST:-mongodb}
MONGODB_INITIAL_PRIMARY_PORT_NUMBER: ${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}
MONGODB_ADVERTISED_HOSTNAME: ${MONGODB_ADVERTISED_HOSTNAME:-mongodb}
MONGODB_ENABLE_JOURNAL: ${MONGODB_ENABLE_JOURNAL:-true}
ALLOW_EMPTY_PASSWORD: ${ALLOW_EMPTY_PASSWORD:-yes}
networks:
- default
volumes:
mongodb_data: { driver: local }
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. Bei mir sieht es dann so aus.
Anschließend seht ihr folgende Meldung. Gebt hier etwas zu eurer Firma ein.
Nun könnt ihr euren Server registrieren oder klickt auf „Stand-alone“.
Wenn ihr „Stand-alone“ ausgewählt habt, müsst ihr noch diese Meldung bestätigen.
Ihr solltet nun eure Traefik URL angezeigt bekommen. Wenn dies der Fall ist, dann klickt auf „Ja“.
Nun seid ihr schon fertig mit der Konfiguration.