From 6493a688a7ac351dad2c9fd015de6276d1bcae6e Mon Sep 17 00:00:00 2001 From: "info@pi-farm.de" Date: Mon, 22 Jun 2026 11:46:11 +0000 Subject: [PATCH] Dockerfile.aarch64 aktualisiert --- Dockerfile.aarch64 | 67 +++++++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 18 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index f02657b..3985a2a 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,27 +1,58 @@ -# Example Dockerfile for arm64 -ARG BASE_IMAGE=alpine:latest +FROM ubuntu:20.04 -FROM ${BASE_IMAGE} +# Non-interactive Mode für apt und Zeitzone setzen +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=Europe/Berlin -ARG MAINTAINER -ARG TZ -ARG APP_NAME -ARG APP_USER +# System-Updates und alle benötigten PHP 7.4 Pakete + Tools installieren +RUN apt-get update && apt-get install -y \ + nginx \ + php7.4-fpm \ + php7.4-cli \ + php7.4-mysql \ + php7.4-xml \ + php7.4-curl \ + php7.4-gd \ + php7.4-mbstring \ + php7.4-json \ + git \ + tmux \ + curl \ + unzip \ + && rm -rf /var/lib/apt/lists/* -LABEL maintainer="${MAINTAINER}" -LABEL org.opencontainers.image.title="${APP_NAME}" +# nZEDb in das Web-Verzeichnis klonen +RUN git clone https://github.com/nZEDb/nZEDb.git /var/www/nZEDb -ENV TZ=${TZ} -ENV USER=${APP_USER} +WORKDIR /var/www/nZEDb -RUN apk add --no-cache tzdata ca-certificates +# ===================================================================== +# AUTOMATISCHE PATCHES (Updatesicher ins Image eingebrannt) +# ===================================================================== -WORKDIR /app -COPY ./config /app/config -COPY ./data /app/data +# 1. Systemweiten Git-Sicherheits-Fix setzen +RUN git config --system --add safe.directory /var/www/nZEDb -RUN adduser -D ${APP_USER} && chown -R ${APP_USER}:${APP_USER} /app +# 2. Zeitzonen-Fehler in der DB.php patchen +RUN sed -i 's/\$result = \$this->queryDirect("SET time_zone = .*/\$result = true;/g' /var/www/nZEDb/nzedb/db/DB.php -USER ${APP_USER} +# 3. Zeitzonen-Fehler im Lithium-Framework (MySql.php) patchen +RUN sed -i 's/function timezone\(.*\){/function timezone\1{ return;/g' /var/www/nZEDb/app/extensions/adapter/data/source/database/MySql.php \ + && sed -i '/function timezone/!b;n;s/{/{ return;/' /var/www/nZEDb/app/extensions/adapter/data/source/database/MySql.php -CMD ["sh"] \ No newline at end of file +# ===================================================================== + +# Nginx-Konfiguration austauschen +COPY nginx-default.conf /etc/nginx/sites-enabled/default + +# Start-Skript einbinden und ausführbar machen +COPY start.sh /start.sh +RUN chmod +x /start.sh + +# Arbeitsverzeichnis definieren (deckt sich mit deinem Inspect) +WORKDIR /var/www/nZEDb + +# Port nach außen freigeben (wird via Compose auf 8800 gemappt) +EXPOSE 80 + +CMD ["/start.sh"] \ No newline at end of file