Commit Graph

32 Commits

Author SHA1 Message Date
Kroonk
2c040b651d Ordner-Zuweisung als klickbare Tabelle statt Checkboxen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 22:06:43 +02:00
Kroonk
2dcd559501 Fix leere Nutzertabelle: Fehler-Handler + DB-Fallback fuer loadUsers
- admin.js: .fail() Handler zeigt Fehlermeldung in der Tabelle statt stille Leere
- server.js: Fallback-Query (SELECT *) wenn role/created_at Spalten fehlen
- Server loggt DB-Fehler statt sie zu verschlucken

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:48:19 +02:00
Kroonk
c37aa3261c Verbessere Nutzer-Erstellung: JSON statt URL-encoded, Erfolgs-Feedback
- Sende Nutzer-Daten als JSON (konsistent mit anderen Admin-Endpoints)
- Zeige Erfolgs-Alert nach Erstellung
- Bessere Fehlermeldungen mit HTTP-Status
- Client-side Validierung vor dem Absenden

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:40:56 +02:00
Kroonk
e5e313924d Installiere JPEG/PNG/WebP Delegates fuer ImageMagick in Alpine
Alpine packt Format-Dekoder separat - ohne libjpeg-turbo, libpng, libwebp
kann magick keine JPG/PNG/WebP Dateien lesen ("no decode delegate").

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 21:35:08 +02:00
Kroonk
83058f80c6 Entferne Galerie-Menuepunkt (Watchtower-Deployment-Test)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 20:27:31 +02:00
Kroonk
ea15be0368 Fix Thumbnail-Generierung (magick statt convert) und DB-Migration fuer role-Spalte
- entrypoint.sh: ImageMagick 7 nutzt 'magick' statt 'convert', Auto-Detection
- database.js: Migration fuer role-Spalte bei bestehender DB (ALTER TABLE)
- main.js: Fallback auf Vollbild wenn Thumbnail fehlt (error handler)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 19:40:18 +02:00
Kroonk
d393630357 Update README to reflect Mischkomposition features and remove original creator info
Some checks failed
Build & Push Docker Image / build-and-push (push) Failing after 1m52s
2026-04-12 21:41:31 +02:00
Kroonk
5c81e93455 Isolate client workspaces from root portfolio and restrict Admin view to root images
Some checks failed
Build & Push Docker Image / build-and-push (push) Has been cancelled
2026-04-12 20:47:24 +02:00
Kroonk
eaa5945611 Wrap background-image url string in quotes to support poorly encoded original filenames 2026-04-12 20:18:22 +02:00
Kroonk
33db10f32d Change lightbox caption background to beige with grey text for readability 2026-04-12 19:19:59 +02:00
Kroonk
ab06284beb Implement Light Mode (Beige) via alternate SASS compilation and runtime switching 2026-04-12 19:11:23 +02:00
Kroonk
67044add84 Commit multi-replace docker-compose.yml 2026-04-12 19:08:16 +02:00
Kroonk
61bd512cd8 Deploy user requested features and fixes, add Galerie menu link. 2026-04-12 18:53:59 +02:00
Kroonk
941d041b5d Nutzerverwaltung-Upgrade: 3 Rollen, Ordner-Zuweisung, Passwort-Aenderung
- 3 Rollen: admin (voll), user (permanent), client (30 Tage Ablauf)
- Ordner-basierte Bildzuweisung statt Einzelbilder (user_folders Tabelle)
- Root-Bilder oeffentlich, Unterordner nur fuer zugewiesene Nutzer
- Passwort-Aenderung fuer alle Nutzer (Self-Service + Admin)
- Admin kann beliebige Admins erstellen/loeschen
- Thumbnail-Generierung fuer Unterordner
- Admin-Dashboard komplett ueberarbeitet

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 17:53:46 +02:00
Kroonk
a4f3cf738c Fix: Backend-Bugs, fehlende Galerie, Watchtower statt Docker-Socket
- express.urlencoded() hinzugefuegt (Login war komplett kaputt)
- Oeffentliche Galerie zeigt jetzt alle Bilder (statt leere Galerie)
- loadGallery() Aufruf in main.js eingefuegt (fehlte komplett)
- main.min.js neu gebaut mit gulp (Galerie-Code fehlte in minified Version)
- Watchtower Container in docker-compose.yml (auto-updates alle 5 Min)
- Docker-Socket und docker-cli aus Photography-Container entfernt
- runs.json Muell-Datei geloescht
- Brain.md und Feature-Request.md aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 17:22:49 +02:00
Kroonk
15e74f42c2 Align all internal, exposed, and mapped ports to 8090 universally per user request. 2026-04-12 16:47:54 +02:00
Kroonk
7509253ee7 Revert server port to 80 to match untouched user docker-compose.yml mappings indefinitely 2026-04-12 16:41:05 +02:00
Kroonk
567cb67763 Fix CRLF line endings on entrypoint script causing sh\r runtime crash on Alpine 2026-04-12 16:24:02 +02:00
Kroonk
21ae8c1599 Add Alpine build dependencies for sqlite3 native fallback 2026-04-12 16:02:31 +02:00
Kroonk
ad41d57f91 Convert admin.js to ES5 syntax to support legacy gulp uglify 2026-04-12 15:44:17 +02:00
Kroonk
5747813d2d Implement Node.js backend rewrite with SQLite authentication, admin dashboard and One-Click docker update 2026-04-12 15:40:46 +02:00
Kroonk
1c233db10e Add debug UI trace for empty parsed images array 2026-04-12 15:30:37 +02:00
Kroonk
98c39f4b83 Fix Nginx cache and force cache buster on JavaScript 2026-04-12 15:26:37 +02:00
Kroonk
4fc9f28a27 Rebuild JS to bundle cache fixes into main.min.js 2026-04-12 15:08:59 +02:00
Kroonk
41bfb91ce3 Fix Nginx file permissions and bypass browser cache 2026-04-12 14:58:25 +02:00
Kroonk
275db4ed08 Kontaktformular: Formsubmit.co statt mailto
- Sicheres HTTPS-Formular, keine Browser-Warnung mehr
- Nachrichten kommen direkt an tom@mischlabs.de
- Spam-Schutz (Honeypot-Feld)
- Redirect zurueck zur Website nach Absenden

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 14:34:11 +02:00
Kroonk
62f85e2132 Port auf 8090 geaendert (8080 war belegt auf NAS)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 14:32:58 +02:00
Kroonk
a739675b16 Fix Docker build: lowercase image name + Feature Requests ergaenzt
- Fix: GHCR image name muss lowercase sein (Kroonk -> kroonk)
- Feature Request: Admin One-Click Update Button hinzugefuegt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 14:12:44 +02:00
Kroonk
9361235637 GitHub Actions: Auto Docker-Build + Feature-Request.md
- GitHub Actions Workflow baut Docker-Image bei jedem Push
- Image wird zu ghcr.io/kroonk/photography gepusht
- Feature-Request.md mit Nutzerverwaltung/Login-System angelegt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 14:09:42 +02:00
Kroonk
ab6b2bb8fe Nextcloud-Integration: Dynamische Galerie + Auto-Thumbnails
- Galerie laedt Bilder dynamisch per JavaScript statt Jekyll-Loop
- nginx autoindex liefert JSON-Bilderliste
- Nextcloud-Ordner (Websitebilder) wird als Volume gemountet
- ImageMagick generiert automatisch 512px Thumbnails
- Hintergrund-Check alle 60s fuer neue Bilder
- Neuer entrypoint.sh fuer Thumbnail-Generierung + nginx Start

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 14:03:43 +02:00
Kroonk
c885d22346 Personalisierung: Mischkomposition by Tom Misch + Docker Setup
- Website umbenannt zu "Mischkomposition by Tom Misch"
- Domain: tom.mischlabs.de
- Kontakt: tom@mischlabs.de
- Instagram: @Mischkomposition verlinkt
- Sponsor-Bereich und Originalautor-Verweise entfernt
- Google Analytics deaktiviert
- Kontaktformular auf Deutsch und mit mailto
- Docker Setup: Dockerfile, docker-compose.yml, nginx.conf fuer NAS

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:52:19 +02:00
Kroonk
5434298c25 Initial commit: Photography portfolio based on rampatra/photography
- Jekyll-based photography portfolio template
- Added Brain.md (project knowledge base) and Skill.md (skill commands)
- Configured remote to Kroonk/Photography.git
- Added .claude/ to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-12 13:14:44 +02:00