Wähle einen Artikel
RocketChat per Docker auf vServer installieren
RocketChat per Docker auf vServer installieren

Überblick

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. 

Nächster Artikel
Screaming Frog SEO Spider auf vServer installieren
Weitere passende Themen