Willkommen zu L0pb.me, einem kleinen, aber mächtigen Service, den ich speziell für Entwickler entwickelt habe, die ihre lokalen Projekte unkompliziert testen möchten. Ähnlich wie traefik.me oder nip.io zeigt jede Subdomain direkt auf die IP 127.0.0.1, also den localhost.
Die Idee zu L0pb.me entstand, als mich ein befreundeter Webentwickler ansprach. Er suchte nach einer weniger komplexen und umfassenden Lösung als DDEV, um mehrere lokale Entwicklungen (wie TYPO3 oder WordPress) gleichzeitig betreiben zu können – und das am besten mit einem funktionierenden SSL-Zertifikat. Als Antwort darauf habe ich ein Traefik-Image mit integrierter Konfiguration (psycho0verload/l0pb-traefik) erstellt und die entsprechende Dokumentation auf L0pb.me veröffentlicht.
Das Geheimnis der Subdomains
Das Besondere an L0pb.me sind die Subdomains. Jede Subdomain von l0pb.me zeigt auf den localhost. Das bedeutet, wenn du im Browser eine Subdomain wie zum Beispiel meinedomain.l0pb.me aufrufst, gibt der DNS-Server für diese Adresse die IP 127.0.0.1 zurück – die Adresse deines eigenen PCs.
Traefik 3.0 und SSL-Zertifikate
Der nächste Schritt ist einfach: Stelle auf deinem eigenen PC (funktioniert auf Windows, Mac und Linux) Traefik 3.0 mit der vorgefertigten Konfiguration bereit. Vorraussetzung ist Docker Desktop.
services:
traefik:
container_name: l0pb-traefik
hostname: l0pb-traefik
image: psycho0verload/l0pb-traefik
labels:
traefik.docker.network: proxy
traefik.enable: "true"
traefik.http.routers.traefik.entrypoints: websecure
traefik.http.routers.traefik.rule: Host(`traefik.l0pb.me`) || Host(`traefik.l0pb.dev`)
traefik.http.routers.traefik.service: api@internal
traefik.http.routers.traefik.tls: "true"
traefik.http.services.traefik.loadbalancer.sticky.cookie.httpOnly: "true"
traefik.http.services.traefik.loadbalancer.sticky.cookie.secure: "true"
networks:
proxy:
ipv4_address: 172.30.255.254
ports:
- mode: host
target: 80
published: "80"
protocol: tcp
- mode: host
target: 443
published: "443"
protocol: tcp
restart: unless-stopped
security_opt:
- no-new-privileges:true
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./log/traefik/:/var/log/traefik/
mailhog:
image: mailhog/mailhog
hostname: l0pb-mailhog
container_name: l0pb-mailhog
restart: unless-stopped
labels:
traefik.docker.network: proxy
traefik.enable: "true"
traefik.http.routers.mailhog.entrypoints: websecure
traefik.http.routers.mailhog.rule: Host(`mailhog.l0pb.me`) || Host(`mailhog.l0pb.dev`)
traefik.http.routers.mailhog.tls: "true"
traefik.http.routers.mailhog.service: mailhog
traefik.http.services.mailhog.loadbalancer.server.port: "8025"
networks:
proxy:
networks:
proxy:
name: proxy
driver: bridge
ipam:
config:
- subnet: 172.30.0.0/16
attachable: true
In dieser Konfiguration ist auch das SSL-Zertifikat für *.l0pb.me enthalten. Anschließend musst du nur noch deinen Service auf der lokalen Maschine mit den richtigen Labels versehen und schon funktioniert das kleine Stück Magie mit einem echten SSL-Zertifikat.
L0pb.me macht das Testen und Entwickeln lokaler Projekte einfacher. Probiere es aus und erlebe, wie mühelos es sein kann, deine Projekte lokal zu hosten und dabei echte SSL-Zertifikate zu nutzen.
Viel Spaß beim Entwickeln!
