From e763952a8483eee0c2b808767c0c34bc38f88078 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 2 May 2026 10:26:20 +0200 Subject: [PATCH] =?UTF-8?q?adminer:=20Theme-Bootstrap=20f=C3=BCr=20Designs?= =?UTF-8?q?=20mit=20non-Standard=20CSS-Filenamen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: ADMINER_DESIGN=dracula (oder adminer-dark) zeigte das Default- Theme. Das offizielle Adminer-Image symverlinkt nur designs/.../adminer.css, aber manche Designs haben adminer-dark.css, sodass der Symlink ins Leere lief. Fix: eigener entrypoint, der das erste .css im gewählten Design verlinkt (unabhängig vom Filename). Anschließend wird der Original-entrypoint.sh ausgeführt. Live-verifiziert: dracula → adminer-dark.css symlink ok, HTML lädt adminer.css mit 13 KB Theme-CSS. Plus: .env.example listet alle ~28 verfügbaren Designs als Kommentar und schlägt 'dracula' als Default vor. Co-Authored-By: Claude Opus 4.7 (1M context) --- .env.example | 10 +++++++--- docker-compose.yml | 27 +++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/.env.example b/.env.example index 4a483d84..08cf4579 100644 --- a/.env.example +++ b/.env.example @@ -46,6 +46,10 @@ LISTEN_ADDR=0.0.0.0 # In Docker = 0.0.0.0, in Bare-Metal-Production = 127 # CORS_ORIGINS= # ============== ADMINER (DB-UI) ============== -# Theme-Auswahl (siehe https://www.adminer.org/#extras) -# Optionen: default, brade, designs/galkaev, pepa-linha-dark, hever, lucas-sandery -ADMINER_DESIGN=pepa-linha-dark +# Theme-Auswahl. Verfügbare Designs im offiziellen adminer:latest Image: +# adminer-dark, brade, bueltge, dracula, esterka, flat, galkaev, +# haeckel, hever, konya, lavender-light, lucas-sandery, mancave, +# mvt, nette, ng9, nicu, pappu687, paranoiq, pepa-linha, pokorny, +# price, rmsoft, rmsoft_blue, rmsoft_blue-dark, win98 +# Empfehlung: dracula (dark) oder adminer-dark – beide modern. +ADMINER_DESIGN=dracula diff --git a/docker-compose.yml b/docker-compose.yml index 4fa65b72..489eb13a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -74,6 +74,29 @@ services: - db environment: ADMINER_DEFAULT_SERVER: db - ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha-dark} + ADMINER_DESIGN: ${ADMINER_DESIGN:-pepa-linha} + # Adminers offizieller entrypoint linkt nur Designs, deren CSS exakt + # `adminer.css` heißt. Manche Designs (dracula, adminer-dark) haben aber + # `adminer-dark.css`. Wir machen den Symlink generisch: erstes .css im + # gewählten Design wird verlinkt. Danach übergeben wir an den originalen + # entrypoint.sh. + entrypoint: + - /bin/sh + - -c + - > + cd /var/www/html; + if [ -n "$$ADMINER_DESIGN" ] && [ -d "designs/$$ADMINER_DESIGN" ]; then + CSS=$$(ls designs/$$ADMINER_DESIGN/*.css 2>/dev/null | head -1); + if [ -n "$$CSS" ]; then + ln -sf "$$CSS" adminer.css; + touch .adminer-init; + echo "[adminer-bootstrap] Theme aktiv: $$ADMINER_DESIGN -> $$CSS"; + else + echo "[adminer-bootstrap] Design '$$ADMINER_DESIGN' enthält kein CSS – nutze Default"; + fi; + fi; + exec entrypoint.sh docker-php-entrypoint "$$@" + - -- + command: ["php", "-S", "[::]:8080", "-t", "/var/www/html"] ports: - - "127.0.0.1:${ADMINER_PORT:-8081}:8080" + - "127.0.0.1:${ADMINER_PORT:-8090}:8080"