Alle Projekte

Wie odabas.ch ausgerollt wird

Ein Push auf main baut automatisch ein neues Image und rollt es auf dem bestehenden nginx-odabas-Container aus.

Deployment-Pipeline für odabas.chEin Push auf main im Repository odabas-portfolio löst GitHub Actions aus, das ein Docker-Image baut und nach ghcr.io veröffentlicht. Auf dem Server wechselt nur das Image des bestehenden Containers nginx-odabas auf dieses neue Image; Name, Port 8081, TLS-Passthrough und Traefik-Labels bleiben unverändert. nginx-odabas liefert die gebauten Astro-Dateien direkt aus, ganz ohne Datenbank oder App-Container. waverider52.com läuft unverändert mit nginx-waverider und WordPress weiter. Eine künftige weitere Anwendung aus Etappe 7 oder 8 würde denselben Weg nehmen: eigener, isolierter nginx- und App-Container. waverider52.com und die künftige Anwendung nutzen die gemeinsame MariaDB-Instanz mit einem Bind-Mount für die Daten; odabas.ch braucht dafür keine Verbindung.GitHub: odabas-portfoliogit push (main)GitHub Actionsbuild-and-deploy:baut Imageghcr.ioodabas-portfolio:latestGleiches Muster geplant für Python und Spring BootInternetTraefik Edge-Router (80/443)TLS-Passthrough, hostbasiertes Routingodabas.chnginx-odabasImage: ghcr.io/…/odabas-portfolioserviert Astro dist/direkt (statisch)Port 8081,kein App-/DB-ContainerKeine Datenbank — statische Seitewaverider52.comnginx-waveriderTLS: 8082 · Redirect: 18082wordpress-waveriderNetzwerke: wpnet+ traefik_proxyWeitere App(Python / Spring Boot,Etappe 7/8)nginx (isoliert)App-ContainerMariaDB (Python) odereigenes Postgres (Spring)Gemeinsame Datenbank-Instanz(mariadb-shared)Bind-Mount ./data/db-shared — getrennte Datenbanken je Appodabas.ch: statisch, per CI/CD-Image ausgeliefert, ohne Datenbank —waverider52.com und geplante Python-App: gemeinsame MariaDB-Instanz

Beiträge