FROM pretix/standalone:stable USER root # 1. Theme-Plugin-Repository in das Build-Verzeichnis kopieren COPY . /tmp/pretix-falkenthal-theme # 2. Öffentliche Plugins + Falkenthal Theme-Plugin installieren RUN pip3 install --no-cache-dir \ pretix-passbook \ pretix-zugferd \ pretix-pages \ /tmp/pretix-falkenthal-theme # 3. Primäre Fallback-Farbwerte (#3b1c4a) im Quellbaum konsistent auf Indigo (#4f46e5) umstellen # (Veranstalter können ihre Shop-Farben weiterhin frei im Web-Interface auf Veranstalter- & Event-Ebene überschreiben) RUN sed -i 's/#3b1c4a/#4f46e5/gI' /pretix/src/pretix/base/settings.py && \ find /pretix/src/pretix -type f \( -name "*.scss" -o -name "*.less" -o -name "*.css" \) -exec sed -i \ -e 's/#3b1c4a/#4f46e5/gI' \ -e 's/#5f2977/#4f46e5/gI' \ -e 's/#7f4a88/#475569/gI' \ -e 's/#8e44ad/#4f46e5/gI' \ -e 's/#281233/#0f172a/gI' {} + # 4. Basis-Templates patchen (Orig. Pretix-Link bleibt erhalten + separater Theme-Link) RUN python3 /tmp/pretix-falkenthal-theme/patch_templates.py && \ chown -R pretixuser:pretixuser /pretix/src/pretix USER pretixuser # 5. Compressor-Cache leeren und Assets als pretixuser neu kompilieren RUN rm -rf /pretix/src/pretix/static.dist/CACHE && \ cd /pretix/src && make production USER root # 6. Vorkompilierte CSS-Dateien bereinigen, Widget-JS prüfen & statische Theme-Assets bereitstellen RUN python3 /tmp/pretix-falkenthal-theme/patch_templates.py && \ find /pretix/src/pretix/static.dist -type f -name "*.css" -exec sed -i \ -e 's/#3b1c4a/#4f46e5/gI' \ -e 's/#5f2977/#4f46e5/gI' \ -e 's/#7f4a88/#475569/gI' \ -e 's/#6c3386/#4f46e5/gI' \ -e 's/#4c2460/#1e293b/gI' \ -e 's/#281233/#0f172a/gI' {} + && \ mkdir -p /pretix/src/pretix/static.dist/whitelabel && \ cp -r /tmp/pretix-falkenthal-theme/pretix_whitelabel/static/whitelabel/* /pretix/src/pretix/static.dist/whitelabel/ && \ chown -R pretixuser:pretixuser /pretix/src/pretix/static.dist && \ rm -rf /tmp/pretix-falkenthal-theme USER pretixuser