Mailpit, Adminer und andere Tools im Run
Mailpit, Adminer und andere Web-Tools aus der DDEV-Umgebung öffnen sich jetzt direkt aus dem Run.
Ein Run ist eine einzelne Ausführung eines Workflows auf einem Projekt, mit eigener DDEV-Umgebung auf dem Server. Bisher kam man dort an die Website, das Terminal und VS Code. Die Tools, die DDEV neben der Website mitbringt, blieben unerreichbar. Seit Version 0.13 öffnen sich diese Tools direkt aus dem Run.
Tools öffnen
Jedes Tool bekommt oben auf der Run-Seite einen eigenen Button neben "Open in IDE" und "Terminal". Ein Klick darauf öffnet das Tool in einem neuen Tab.

Knecht zeigt die Tools, die mit der DDEV-Config des Repos kommen:
- Mailpit ist in jeder DDEV-Umgebung dabei und fängt alle Mails ab, die das Projekt verschickt.
- Add-on-Container wie Adminer, phpMyAdmin oder Solr erscheinen unter ihrem Service-Namen.
- Zusätzliche Ports im Web-Container, die über
web_extra_exposed_portsfreigegeben sind, erscheinen unter dem Namen, der dort eingetragen ist.
Wie es funktioniert
Lokal macht der DDEV-Router die Tools erreichbar. Er nimmt Anfragen auf Port 80 und 443 an und leitet sie an den passenden Container weiter, Mailpit etwa auf Port 8026. Auf dem Server startet Knecht DDEV ohne diesen Router. Dort teilen sich viele Runs einen Docker-Daemon, und jeder Router würde dieselben Ports auf dem Host belegen wollen.
Welche Ports der Router weiterleiten soll, erfährt er aus den Containern selbst. Jeder Container trägt dafür die Umgebungsvariablen HTTP_EXPOSE und HTTPS_EXPOSE mit seinen Ports. Knecht liest diese Variablen aus den laufenden Containern eines Runs und leitet die Ports selbst weiter. Jedes Add-on, das lokal über den Router erreichbar ist, erscheint deshalb auch im Run.
Jedes Tool bekommt eine eigene Adresse nach demselben Schema wie die Preview, mit dem Namen des Tools vorne dran, etwa mailpit--42.preview.example.com. Der Port der Website und der Port des Dev-Servers bekommen keinen Button, die sind schon über die Preview erreichbar.