Images im Stack bauen statt aus einer Registry ziehen
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
Die drei eigenen Images standen als ghcr.io-Adressen mit einem Platzhalter im Namen. Gebaut haetten sie nur GitHub Actions, und das Repository liegt nicht auf GitHub - die Images gab es also nirgends, und wer den Platzhalter uebersah, bekam "repository name must be lowercase". Jetzt stehen die Bau-Anweisungen in der compose.yaml selbst. Das ist auch fuer Dockge das richtige: dessen Editor zeigt nur diese eine Datei, eine compose.override.yml waere unsichtbar gewesen und haette spaeter niemand mehr erklaeren koennen. Dazu ein Hinweis im Kopf der Datei, dass PORT und Healthchecks den Port *im* Container meinen. Wer die Anwendung auf dem Host anders erreichen will, aendert nur die linke Zahl bei ports.
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
# Baut die drei Images auf dem Server, statt sie aus einer Registry zu ziehen.
|
|
||||||
#
|
|
||||||
# Compose liest diese Datei automatisch zusaetzlich zu compose.yaml. Sie ist
|
|
||||||
# fuer den Fall gedacht, dass keine Registry im Spiel ist - etwa beim ersten
|
|
||||||
# Aufsetzen auf dem Heimserver oder bei einem Test mit wenigen Leuten.
|
|
||||||
#
|
|
||||||
# Gebaut wird aus dem Repository-Wurzelverzeichnis; die Dockerfiles erwarten
|
|
||||||
# genau diesen Kontext. Der erste Bau dauert einige Minuten, danach greift der
|
|
||||||
# Zwischenspeicher von Docker.
|
|
||||||
#
|
|
||||||
# docker compose build
|
|
||||||
# docker compose up -d
|
|
||||||
#
|
|
||||||
# Wer spaeter doch eine Registry benutzt, benennt diese Datei um oder loescht
|
|
||||||
# sie - dann gelten wieder die image:-Eintraege aus compose.yaml.
|
|
||||||
|
|
||||||
services:
|
|
||||||
web:
|
|
||||||
image: afis-web:local
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: docker/web.Dockerfile
|
|
||||||
|
|
||||||
worker:
|
|
||||||
image: afis-worker:local
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: docker/worker.Dockerfile
|
|
||||||
|
|
||||||
pdf:
|
|
||||||
image: afis-pdf:local
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: docker/pdf.Dockerfile
|
|
||||||
+20
-4
@@ -6,7 +6,14 @@
|
|||||||
# - jeder Dienst hat einen Healthcheck, das ist in Dockge die Statusanzeige
|
# - jeder Dienst hat einen Healthcheck, das ist in Dockge die Statusanzeige
|
||||||
# - kein Reverse Proxy: TLS und Kompression macht der Cloudflare Tunnel
|
# - kein Reverse Proxy: TLS und Kompression macht der Cloudflare Tunnel
|
||||||
#
|
#
|
||||||
# DEIN-USER durch den eigenen GitHub-Namen ersetzen.
|
# Die drei eigenen Images werden hier gebaut, nicht aus einer Registry gezogen:
|
||||||
|
# docker compose build && docker compose up -d
|
||||||
|
# Der Baukontext ist das Repository-Wurzelverzeichnis, der Stack-Ordner muss
|
||||||
|
# also den Quelltext enthalten.
|
||||||
|
#
|
||||||
|
# HINWEIS ZU DEN PORTS: `PORT` und die Healthchecks bleiben bei 3000 - das ist
|
||||||
|
# der Port *im* Container. Wer die Anwendung auf dem Host anders erreichen will,
|
||||||
|
# aendert nur die linke Zahl bei `ports`, etwa "3010:3000".
|
||||||
|
|
||||||
x-logging: &logging
|
x-logging: &logging
|
||||||
logging:
|
logging:
|
||||||
@@ -16,7 +23,10 @@ x-logging: &logging
|
|||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
<<: *logging
|
<<: *logging
|
||||||
image: ghcr.io/DEIN-USER/afis-web:latest
|
image: afis-web:local
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/web.Dockerfile
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# Die Migration läuft im Startkommando, nicht in einem Init-Container.
|
# Die Migration läuft im Startkommando, nicht in einem Init-Container.
|
||||||
# Die Prisma-CLI liegt im Image unter /app/migrator, es wird nichts nachgeladen.
|
# Die Prisma-CLI liegt im Image unter /app/migrator, es wird nichts nachgeladen.
|
||||||
@@ -43,7 +53,10 @@ services:
|
|||||||
|
|
||||||
worker:
|
worker:
|
||||||
<<: *logging
|
<<: *logging
|
||||||
image: ghcr.io/DEIN-USER/afis-worker:latest
|
image: afis-worker:local
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/worker.Dockerfile
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file: .env
|
env_file: .env
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -113,7 +126,10 @@ services:
|
|||||||
|
|
||||||
pdf:
|
pdf:
|
||||||
<<: *logging
|
<<: *logging
|
||||||
image: ghcr.io/DEIN-USER/afis-pdf:latest # Playwright-Basis
|
image: afis-pdf:local
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/pdf.Dockerfile
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
PORT: '3000'
|
PORT: '3000'
|
||||||
|
|||||||
Reference in New Issue
Block a user