This commit is contained in:
+37
-1
@@ -7,6 +7,41 @@ die Versionierung [Semantic Versioning](https://semver.org/lang/de/).
|
|||||||
|
|
||||||
## [Unveröffentlicht]
|
## [Unveröffentlicht]
|
||||||
|
|
||||||
|
## [0.6.1] — 2026-09-01
|
||||||
|
|
||||||
|
Nacharbeiten aus der Abnahme: das Docker-Image wurde zum ersten Mal wirklich
|
||||||
|
gebaut und gestartet — dabei kam ein Fehler ans Licht, den nur der echte
|
||||||
|
Containerstart zeigt.
|
||||||
|
|
||||||
|
### Behoben
|
||||||
|
|
||||||
|
- **Der Container konnte seine Migrationen nicht einspielen.** Das Laufzeitimage
|
||||||
|
bekam die Prisma-CLI, indem einzelne Ordner aus `node_modules` kopiert wurden
|
||||||
|
— dabei fehlten transitive Abhängigkeiten von `@prisma/config` (`effect` und
|
||||||
|
weitere). Die CLI wird jetzt in einer eigenen Build-Stufe vollständig
|
||||||
|
installiert und liegt im Laufzeitimage unter `/node_modules`, wo sie den
|
||||||
|
getracten Abhängigkeitsbaum der Anwendung nicht stört.
|
||||||
|
|
||||||
|
### Hinzugefügt
|
||||||
|
|
||||||
|
- **Erscheinungsmeldung für Watchlist-Filme.** Der Schalter dafür stand schon im
|
||||||
|
Profil, verschickt wurde bisher nichts. Betrachtet wird ein Zeitfenster der
|
||||||
|
letzten Tage statt eines Zustandswechsels — TMDB verschiebt Termine
|
||||||
|
gelegentlich, und ein einmal verpasstes Datum soll die Meldung nicht für
|
||||||
|
immer verhindern.
|
||||||
|
- **Gitea-Actions-Workflows**: `ci.yml` prüft bei jedem Push Typen, Tests und
|
||||||
|
Produktionsbuild gegen eine echte PostgreSQL-Instanz; `release.yml` legt beim
|
||||||
|
Pushen eines Versions-Tags das Release mit den Notizen aus
|
||||||
|
`releases/vX.Y.Z.md` an.
|
||||||
|
- Diagrammfarben und ihre Prüfwerte in `docs/DESIGN.md` festgehalten; das
|
||||||
|
öffentliche Profil in die Anleitung aufgenommen.
|
||||||
|
|
||||||
|
### Entfernt
|
||||||
|
|
||||||
|
- Die ungenutzte `images`-Konfiguration in `next.config.ts`. `next/image` kommt
|
||||||
|
nirgends zum Einsatz — damit entfällt auch das sicherheitsrelevant aussehende
|
||||||
|
`dangerouslyAllowSVG`, das ohnehin wirkungslos war.
|
||||||
|
|
||||||
## [0.6.0] — 2026-09-01
|
## [0.6.0] — 2026-09-01
|
||||||
|
|
||||||
Der Rest: Benachrichtigungen, Abgleich, Import und Export, Schnittstelle, PWA
|
Der Rest: Benachrichtigungen, Abgleich, Import und Export, Schnittstelle, PWA
|
||||||
@@ -261,7 +296,8 @@ Erste lauffähige Etappe: Gerüst, Marke, Datenmodell und Anmeldung.
|
|||||||
dass weitere Sprachen als zusätzliche Datei dazukommen können.
|
dass weitere Sprachen als zusätzliche Datei dazukommen können.
|
||||||
- **Seed-Skript** mit Demo-Konten sowie README und Design-Dokumentation.
|
- **Seed-Skript** mit Demo-Konten sowie README und Design-Dokumentation.
|
||||||
|
|
||||||
[Unveröffentlicht]: https://git.wilde-server.de/florian.wilde/flimmer/compare/v0.6.0...HEAD
|
[Unveröffentlicht]: https://git.wilde-server.de/florian.wilde/flimmer/compare/v0.6.1...HEAD
|
||||||
|
[0.6.1]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.6.1
|
||||||
[0.6.0]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.6.0
|
[0.6.0]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.6.0
|
||||||
[0.5.0]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.5.0
|
[0.5.0]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.5.0
|
||||||
[0.4.0]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.4.0
|
[0.4.0]: https://git.wilde-server.de/florian.wilde/flimmer/releases/tag/v0.4.0
|
||||||
|
|||||||
+15
-3
@@ -32,6 +32,14 @@ ENV NODE_ENV=production
|
|||||||
|
|
||||||
RUN npx prisma generate && npx next build
|
RUN npx prisma generate && npx next build
|
||||||
|
|
||||||
|
# --- Prisma-CLI --------------------------------------------------------------
|
||||||
|
# Eigene Stufe, damit die CLI samt ihrer transitiven Abhängigkeiten vollständig
|
||||||
|
# ins Laufzeitimage kommt. Einzelne Pakete aus node_modules herauszupicken ging
|
||||||
|
# schief: @prisma/config braucht weitere Module, die dabei fehlten.
|
||||||
|
FROM base AS prisma-cli
|
||||||
|
WORKDIR /cli
|
||||||
|
RUN npm init -y > /dev/null && npm install --omit=dev --no-audit --no-fund prisma@7.10.0
|
||||||
|
|
||||||
# --- Laufzeit ----------------------------------------------------------------
|
# --- Laufzeit ----------------------------------------------------------------
|
||||||
FROM base AS runner
|
FROM base AS runner
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
@@ -48,12 +56,16 @@ COPY --from=builder /app/public ./public
|
|||||||
COPY --from=builder --chown=flimmer:nodejs /app/.next/standalone ./
|
COPY --from=builder --chown=flimmer:nodejs /app/.next/standalone ./
|
||||||
COPY --from=builder --chown=flimmer:nodejs /app/.next/static ./.next/static
|
COPY --from=builder --chown=flimmer:nodejs /app/.next/static ./.next/static
|
||||||
|
|
||||||
# Prisma-CLI und Schema bleiben im Image, damit der Container beim Start seine
|
# Schema und Migrationen bleiben im Image, damit der Container beim Start seine
|
||||||
# eigenen Migrationen ausspielen kann (`prisma migrate deploy`).
|
# eigenen Migrationen ausspielen kann (`prisma migrate deploy`).
|
||||||
COPY --from=builder /app/prisma ./prisma
|
COPY --from=builder /app/prisma ./prisma
|
||||||
COPY --from=builder /app/prisma.config.mjs ./prisma.config.mjs
|
COPY --from=builder /app/prisma.config.mjs ./prisma.config.mjs
|
||||||
COPY --from=builder /app/node_modules/prisma ./node_modules/prisma
|
|
||||||
COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
|
# Die CLI liegt bewusst unter /node_modules statt in /app/node_modules: dort
|
||||||
|
# stört sie den getracten Abhängigkeitsbaum der Anwendung nicht, und Node
|
||||||
|
# findet sie beim Auflösen von "prisma/config" trotzdem — die Suche wandert
|
||||||
|
# von /app aus nach oben.
|
||||||
|
COPY --from=prisma-cli /cli/node_modules /node_modules
|
||||||
|
|
||||||
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||||
RUN chmod +x /usr/local/bin/entrypoint.sh \
|
RUN chmod +x /usr/local/bin/entrypoint.sh \
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ attempt();
|
|||||||
'
|
'
|
||||||
|
|
||||||
echo "Flimmer: spiele Migrationen ein ..."
|
echo "Flimmer: spiele Migrationen ein ..."
|
||||||
node node_modules/prisma/build/index.js migrate deploy
|
node /node_modules/prisma/build/index.js migrate deploy
|
||||||
|
|
||||||
echo "Flimmer: starte Anwendung."
|
echo "Flimmer: starte Anwendung."
|
||||||
exec "$@"
|
exec "$@"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "flimmer",
|
"name": "flimmer",
|
||||||
"version": "0.6.0",
|
"version": "0.6.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Flimmer — selbst hostbarer Serien- und Film-Tracker",
|
"description": "Flimmer — selbst hostbarer Serien- und Film-Tracker",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Flimmer 0.6.1
|
||||||
|
|
||||||
|
Nacharbeiten aus der Abnahme: das Docker-Image wurde zum ersten Mal wirklich
|
||||||
|
gebaut und gestartet — dabei kam ein Fehler ans Licht, den nur der echte
|
||||||
|
Containerstart zeigt.
|
||||||
|
|
||||||
|
### Behoben
|
||||||
|
|
||||||
|
- **Der Container konnte seine Migrationen nicht einspielen.** Das Laufzeitimage
|
||||||
|
bekam die Prisma-CLI, indem einzelne Ordner aus `node_modules` kopiert wurden
|
||||||
|
— dabei fehlten transitive Abhängigkeiten von `@prisma/config` (`effect` und
|
||||||
|
weitere). Die CLI wird jetzt in einer eigenen Build-Stufe vollständig
|
||||||
|
installiert und liegt im Laufzeitimage unter `/node_modules`, wo sie den
|
||||||
|
getracten Abhängigkeitsbaum der Anwendung nicht stört.
|
||||||
|
|
||||||
|
### Hinzugefügt
|
||||||
|
|
||||||
|
- **Erscheinungsmeldung für Watchlist-Filme.** Der Schalter dafür stand schon im
|
||||||
|
Profil, verschickt wurde bisher nichts. Betrachtet wird ein Zeitfenster der
|
||||||
|
letzten Tage statt eines Zustandswechsels — TMDB verschiebt Termine
|
||||||
|
gelegentlich, und ein einmal verpasstes Datum soll die Meldung nicht für
|
||||||
|
immer verhindern.
|
||||||
|
- **Gitea-Actions-Workflows**: `ci.yml` prüft bei jedem Push Typen, Tests und
|
||||||
|
Produktionsbuild gegen eine echte PostgreSQL-Instanz; `release.yml` legt beim
|
||||||
|
Pushen eines Versions-Tags das Release mit den Notizen aus
|
||||||
|
`releases/vX.Y.Z.md` an.
|
||||||
|
- Diagrammfarben und ihre Prüfwerte in `docs/DESIGN.md` festgehalten; das
|
||||||
|
öffentliche Profil in die Anleitung aufgenommen.
|
||||||
|
|
||||||
|
### Entfernt
|
||||||
|
|
||||||
|
- Die ungenutzte `images`-Konfiguration in `next.config.ts`. `next/image` kommt
|
||||||
|
nirgends zum Einsatz — damit entfällt auch das sicherheitsrelevant aussehende
|
||||||
|
`dangerouslyAllowSVG`, das ohnehin wirkungslos war.
|
||||||
Reference in New Issue
Block a user