• Warum dogado?
Wähle ein Artikel
RocketChat per Docker auf vServer installieren
RocketChat per Docker auf vServer installieren

Überblick

  • Verwendetes System: Debian 10 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:

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/{uploads,data/db}

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: '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.

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.

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.

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