Chatjoin ist ein einfacher statischer Nginx-Dienst für deine Join-/Bootstrap-Seiten rund um dein Matrix-Setup.
Hier liegen die HTML-Dateien, über die Nutzer:innen auf Join-, Bootstrap- und Weiterleitungsseiten zugreifen können, z. B.:
index.htmlbootstrap.htmlbootstrap-apply.htmlelement-bridge.htmlDer Container selbst macht dabei fast nichts "Intelligentes" - er liefert nur statische Dateien aus.
/opt/docker/chatjoinchatjoinnginx:alpine/opt/docker/chatjoin/docker-compose.yml808090 -> 80chatjoin_defaultproxy-netchatjoin_default: 192.168.80.2proxy-net: 172.20.0.13Direkt technisch:
Indirekt im Betrieb:
/opt/docker/chatjoindocker ps | grep -i chatjoin
docker ps -a | grep -i chatjoin
docker logs -f chatjoin
docker restart chatjoin
cd /opt/docker/chatjoin
docker compose up -d
cd /opt/docker/chatjoin
docker compose down
cat /opt/docker/chatjoin/docker-compose.yml
docker inspect chatjoin | grep -A 20 Mounts
docker inspect chatjoin
docker network ls | grep -i chatjoin
docker network inspect chatjoin_default
docker network inspect proxy-net
ls -la /opt/docker/chatjoin
curl http://localhost:8090
cat /opt/docker/chatjoin/index.html
less /opt/docker/chatjoin/index.html
Navigation in less:
q zum Beendensudo truncate -s 0 /opt/docker/chatjoin/index.html
sudo nano /opt/docker/chatjoin/index.html
cd /opt/docker/chatjoin
ls -la
docker ps | grep -i chatjoin
docker logs --tail=50 chatjoin
curl http://localhost:8090
Prüfen:
8090 offen?/opt/docker/chatjoin?Da das Host-Verzeichnis direkt eingebunden ist, werden Dateien aus /opt/docker/chatjoin sofort vom Container ausgeliefert.
Check:
ls -la /opt/docker/chatjoin
docker inspect chatjoin | grep -A 20 Mounts
Wenn Änderungen trotzdem nicht sichtbar sind:
docker network inspect proxy-net
docker inspect chatjoin
docker logs --tail=50 proxy-npm-1
Wichtig:
chatjoin hängt an proxy-netchatjoin ist im proxy-net sichtbarIn den Logs tauchen mehrfach 404er auf für:
/favicon.ico/robots.txt/security.txtDas ist aktuell kein Containerfehler, sondern bedeutet nur:
Wenn du das sauber haben willst, lege die Dateien explizit in /opt/docker/chatjoin ab.
In den Logs sieht man viele Requests von Bots und Scannern, z. B.:
CONNECTDas ist bei öffentlich erreichbaren Webports normal.
Relevant ist nur:
200?Chatjoin nutzt kein Docker-Volume.
Die Inhalte liegen direkt auf dem Host:
/opt/docker/chatjoin
Dieses Verzeichnis wird eingebunden nach:
/usr/share/nginx/html
Alle Dateien in /opt/docker/chatjoin sind gleichzeitig:
Wenn dieses Verzeichnis beschädigt oder leer ist, liefert Chatjoin keine sinnvollen Seiten mehr aus.
proxy-net ist für den Betrieb über Reverse Proxy wichtig.
Ohne diese Verbindung kann Nginx Proxy Manager den Container nicht sauber per Containername erreichen.
Chatjoin ist bewusst extrem simpel gebaut:
nginx:alpineDas ist praktisch wie ein Schaukasten mit Glasscheibe:
Du legst vorne etwas hinein, und Nginx zeigt es direkt an.
Vorteil:
Nachteil:
8090 zusätzlich zum Proxy-Zugriff8090 ist direkt auf dem Host veröffentlichtfavicon.ico, robots.txt, security.txt8090 langfristig direkt offen bleiben soll, ist offen8090 öffentlich offen bleiben sollfavicon.ico ergänzenrobots.txt ergänzensecurity.txt ergänzen/opt/docker/chatjoin regelmäßig prüfendocker ps | grep -i chatjoin
curl http://localhost:8090
docker inspect chatjoin | grep -A 20 Mounts
ls -la /opt/docker/chatjoin
Wenn Chatjoin kaputt wirkt, prüfst du fast immer nur drei Dinge:
Mehr ist es hier in der Regel nicht.