Port wird für Matrix-Chat-Server mit Docker/Portainer nicht veröffentlicht

TheParge

New member
Hallo zusammen,

ich bin komplett neu bei Docker. Vor zehn Jahren habe ich mit Linux-Servern gearbeitet und jetzt möchte ich in diese magische Docker-Welt eintauchen. Zurzeit versuche ich, einen Matrix-Chat-Server einzurichten, und ich benutze Portainer, um meine Container zu verwalten.

Ich habe eine Docker Compose-Datei geschrieben, die den Server und die Datenbank erstellt. Leider wird kein Port veröffentlicht, über den ich mit meinem Reverse Proxy auf den Server zugreifen kann (siehe Bild). Ich bin mir nicht sicher, was ich falsch mache, und bin wirklich verzweifelt.

Code:
version: '3.7'

services:
  db:
    container_name: 'matrix-synapse-db'
    image: postgres:13
    restart: always
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: 123456
      POSTGRES_DB: synapse
    volumes:
      - synapse_db:/var/lib/postgresql/data

  synapse:
    container_name: 'matrix-synapse-server'
    image: matrixdotorg/synapse:latest
    restart: always
    depends_on:
      - db
    environment:
      - VIRTUAL_HOST=subdomain.domain.de
      - LETSENCRYPT_HOST=subdomain.domain.de
      - SYNAPSE_SERVER_NAME=subdomain.domain.de
      - SYNAPSE_REPORT_STATS=yes
    volumes:
      - synapse_data:/data
    ports:
      - "8008:8008"
    command: >
      /start.py
      --config-path=/data/homeserver.yaml

volumes:
  synapse_db:
  synapse_data:

Wenn ich das docker-compose in Portainer ausführe, scheint alles korrekt zu starten, aber ich kann den Server über Port 8008 nicht erreichen. Mein Reverse Proxy zeigt keine Verbindung an.

Was mache ich falsch? Muss ich spezielle Einstellungen in Portainer, Docker oder in der Compose-Datei vornehmen, um den Port korrekt zu veröffentlichen?

Vielen Dank im Voraus für eure Hilfe!
 

Anhänge

  • matrixserver_noip.png
    matrixserver_noip.png
    48,4 KB · Aufrufe: 6
Ich hab Deinen Post schon im Docker Forum gesehen. Da Dein Container auf dem Screenshot keine IP hat, stellt sich die berechtigte Frage, ob er wirklich läuft - oder vielmehr in einer Schleife startet und stirbt.
 
Ich bin absolut kein Docker-Experte, aber genau das war mir auch auf dem Screenshot aufgefallen... und da wäre auch mein Ansatz. Ohne IP-Adresse ist der fehlende Port wohl eher ein "Folgefehler".
 
Hast Du überhaupt schon eine Konfigurationsdatei erzeugt?

In der Dockerhub Beschreibung des Images ist ziemlich am Anfang der Abschnitt Generating a configuration file zu finden.
Dort steht unter anderem, dass man mit diesem Befehl die Konfigurationsdatei erzeugen muss:
Code:
docker run -it --rm \
    --mount type=volume,src=synapse-data,dst=/data \
    -e SYNAPSE_SERVER_NAME=my.matrix.host \
    -e SYNAPSE_REPORT_STATS=yes \
    matrixdotorg/synapse:latest generate

Natürlich musst Du den Server-Namen anpassenden wie er bei Dir sein wird.

Wenn das das Problem ist, dann sollte es in den Container Logs sofort ersichtlich sein.
 
command: > /start.py --config-path=/data/homeserver.yaml
... Wie kommst Du darauf, dass der command funktionieren sollte?
Die in der DockerHub Beschreibung gezeigt Nutzung, enthält in keinem Fall /start.py.

Man kann bei command nicht einfach irgendetwas eintragen, wenn man nicht weiß wie das Image genau arbeitet.

Wenn es ein Entrypoint-Skript hat, dann ist der Inhalt von command das Argument für das Entrypoint-Skript. Je nachdem wie das Entrypoint-Skript aussieht, kann es mit den Argumenten anfangen, oder auch nicht.

Ich habe gerade nachgesehen: im Dockerfile wird als ENTRYPOINT ["/start.py"] gesetzt. Sprich bei dir startet der Container mit "/start.py /start.py --config-path=/data/homeserver.yaml. Das kann kaum richtig sein.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.456
Beiträge
53.919
Mitglieder
5.257
Neuestes Mitglied
B4c4rd1
Zurück
Oben