Files
2026-11-10 12:55:30 +01:00

52 lines
2.0 KiB
Docker

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