Ich zeige euch hier, wie ihr die Chatplattform Rocket.Chat in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Inhaltsverzeichnis
Wer Traefik noch nicht installiert hat, findet hier eine Anleitung, wie ihr dies schnell tun könnt.
Als Grundlage meiner Anleitung dient die offizielle Anleitung von Rocket.Chat.
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/rocketchat/{uploads,data/db}
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die offizielle Konfiguration angeschaut und sehr viel abändern müssen, damit diese lauffähig wird.
cd /opt/containers/rocketchat/ nano docker-compose.yml
Inhalt
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
Notwendige Anpassungen:
- 2x eure Domain bei Traefik anpassen („chat.euredomain.de“)
Diese Docker Compose Datei funktioniert nur, wenn ich euch mittels meiner Anleitung hier Traefik installiert habt. Sonst heißen einige Traefik Variablen wohl anders. Diese müsst ihr dann dementsprechend bei euch anpassen.
Wenn ihr Rocket.Chat auf eurer „Hauptdomain“ haben wollt, so gebt ihr folgendes ein:
"traefik.http.routers.rocketchat.rule=Host(`www.euredomain.de`,`euredomain.de`)" "traefik.http.routers.rocketchat-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"
3. Rocket.Chat starten
Rocket.Chat startet ihr wie gewohnt mit folgendem Befehl:
docker-compose -f /opt/containers/rocketchat/docker-compose.yml up
4. Rocket.Chat Login
Nun müsst ihr ein paar Minuten warten.
Wenn ihr nun auf „chat.euredomain.de“ geht, dann solltet ihr auf diese Webseite kommen. Hier legt ihr nun den Administrator an.
Anschließend könnt ihr noch Infos über eure Firma eingeben. Dies ist jedoch alles FREIWILLIG.
Nun legt ihr noch einen Seitennamen fest.
Jetzt müsst ihr noch euren Server Modus wählen.
Jetzt habt ihr es geschafft und könnt Rocket.Chat nutzen.
5. Quellen
https://docs.rocket.chat/installation/docker-containers/docker-compose
- KeePass – Passwörter über eigene Cloud synchronisieren - 17. Februar 2021
- FRITZ!Box 6660 Cable mit Vodafone Cable nutzen - 16. Februar 2021
- Jitsi Docker – Lobby aktivieren - 16. Februar 2021
3 Kommentare
Hi Christian,
Wow! Vielen Dank für das super Tutorial!
Hat sofort fuktioniert. Endlich habe ich RocketChat auf Docker am laufen :).
DANKE
Hallo Christian,
Ist es möglich von Rocketchat automatische Backups einzurichten, so wie es hier im Tutorial vorgestellt wurde: https://goneuland.de/nextcloud-backup-erstellen-und-wiederherstellen-in-docker-umgebung/ ?
Danke und viele Grüße
Max
Wie sieht es mit der Sicherheit der Daten aus bei Rocket Chat mit eigenem Server laut Anleitung hier? Werden diese durch fremde Systeme geleitet oder bleiben die auf dem eigenen Server?
Wir suchen gerade für den Verein nach einer DSGVO sicheren Lösung nachdem Diskussionen wegen Whatsapp aufkommen.