Docker mit nginx und ssl

#1

Hallo,
ich steh auf dem Schlauch.
Ich hab einen dockerhost, der bei dyndns mit einer wildkart alles auffängt, was an *.mrbs.bz-pfinztal3.dynalias.org geht.
Auf dem läuft ein nginx mit letzencrypt-companion und ein linuxmuster-mrbs (beide compose files unten).
Die Certs werden in /srv/frontproxy/cers-volume/
erstellt: dort kann ich sie sehen. Ich erreiche aber die Seite nicht über
https://mrbs.bz-pfinztal3.dynalias.org
Im Firefox bleibt die Seite weis und in chromium kommt Fehler 500.
Jemand eine Idee?

version: '2'

services:
  frontproxy:
    restart: always
    image: jwilder/nginx-proxy
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock:ro"
      - "./certs-volume:/etc/nginx/certs:ro"
      - "/etc/nginx/vhost.d"
      - "/usr/share/nginx/html"
  nginx-letsencrypt-companion:
    restart: always
    image: jrcs/letsencrypt-nginx-proxy-companion
    volumes:
      - "./certs-volume:/etc/nginx/certs"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    volumes_from:
      - "frontproxy"
volumes:
  certs-volume:

mrbs

version: '2'
services:
  db:
    container_name: mariadb
    restart: always
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: bla
    volumes:
      - ./mariadb-data:/var/lib/mysql
  mrbs1:
    depends_on:
      - db
    container_name: raumbuchung
    restart: always
    image: linuxmuster/mrbs:latest
    networks:
      - frontproxy_default
      - default
    environment:
        MRBS_DB_HOST: db
        MRBS_DB_PORT: 3306
        MRBS_DB_USER: mrbsdbuser
        MRBS_DB_PASSWORD: bla
        MRBS_DB_NAME: mrbs_raumbuchung
        MYSQL_ROOT_PASSWORD: bla
        VIRTUAL_HOST: mrbs.bz-pfinztal3.dynalias.org
        LETSENCRYPT_HOST: mrbs.bz-pfinztal3.dynalias.org
        LETSENCRYPT_EMAIL: baumhof@lmg-pfinztal.de
    volumes:
      - ./config/raumbuchung.inc.php:/var/www/html/config.inc.php
      - ./dbdumps/:/var/linuxmuster-mrbs
networks:
  frontproxy_default:
    external: true

LG

Holger

#2

Hallo,

bescheidene Zwischenfrage: Warum willst du das partout nicht so probieren/machen, wie wir das auf der Arbeitstagung besprochen haben - und wie es der Plan für lmn7 ist?

In den Git-Repos ist das doch alles dokumentiert, ohne Companion und Reverseproxy Container, und bei all meinen Tests hat das in 20 Minuten getan.

VG

Frank

#3

Linkservice:

Ich weise aber sicherheitshalber nochmal drauf hin, dass ich das Datei-Layout der MRBS App noch an den geplanten Standard anpassen muss (Docker KISS + linuxmuster-mrbs)

VG

Frank

#4

Hallo Frank,

bescheidene Zwischenfrage: Warum willst du das partout nicht so
probieren/machen, wie wir das auf der Arbeitstagung besprochen haben -
und wie es der Plan für lmn7 ist?

das werde ich am Ende wahrscheinlich schon so machen.
Gerade fände ich es wichtig, wenn ich docker etwas tiefgreifender
beherrsche.
Am Ende bin ich ja Supporter und nicht nur Anwender :slight_smile:

Viele Grüße

Holger

#5

Hi Holger,

gebe aber Frank recht, dass du hier vielleicht am falschen Ende schaust das “jrcs/letsencrypt-nginx-proxy-companion” ist wie eine Glaskugel: kein skript oder so, was man manuell machen muss, sondern man hofft, dass es funktioniert.
Du kannst allerdings in den Logs nachschauen:docker-compose logs --tail=1 -f um zu schauen ob irgendwas, was nicht geht in den logs angekommen ist.
Ich bin noch nicht von meinem LE-im-container losgekommen, weil es bei mir halt schon funktioniert, würde das aber nicht mehr so machen.

Ich kann außerdem deine Einrückungen nicht sehen, daher ist das tatsächlich schwerer lesbar.
Aber:

    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"

hab ich noch beim “frontproxy”

probier mal zusätzlich noch im mrbs:

  VIRTUAL_PORT: 80
  VIRTUAL_PROTO: http

weil dein mrbs ja auf port 80 läuft, oder? Aber ich bin mir bei den nicht so sicher ob die nicht nur dann nötig und richtig waren, wenn es sich um einen externen host handelte.

Außerdem hab ich ganz oft noch bei meinen docker-containern:

dns: 10.16.1.1

weil die sonst selbst intern z.B. den server wg. des LDAPs nicht richtig auflösen (z.B. nach externen IP auflösen) und dann die Firewall den Zugriff nicht zulässt, weil ich von ORANGE über ROT nach GRÜN will und die Firewall nur von ORANGE direkt nach GRÜN zulässt.

lauter so käse…

VG, tobias

#6

Holy Molly ist das einfach.
Zack: Raumbuchung mit ldap Anmeldung läuft nach 5 Minuten.

Gut wäre in der Anleitung noch, dass die config in
/srv/docker/linuxmuster-mrbs/config/raumbuchung.inc.php
gemacht wird und dass im Default der Nutzer
administrator
der admin ist.

Hölle: tausend Dank Frank :slight_smile:

LG

Holger