-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
Überblick
- Verwendetes System: Debian 11 64 bit
- Testsystem: vServer XXL 2.0
- Genutzter User: Ich nehme alles als „root“ vor
- Zeitdauer: ca. 5 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
Vorab-Infos zu yml Dateien
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
Vorbereitung
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
Verzeichnis erstellen
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.
docker-compose.yml erstellen
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.
Hostname 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`)"
Rocket.Chat starten
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
Rocket.Chat Konfiguration
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.