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!