FROM php:8.5-fpm-trixie ARG UID=1000 ARG GID=1000 ENV USER=development ENV GROUPNAME=$USER RUN groupadd -g ${GID} development \ && useradd -u ${UID} -g development -m development # Nginx + Supervisor installieren RUN apt-get update RUN apt-get install -y nginx \ supervisor \ bash \ mc \ git \ unzip \ libzip-dev \ libpng-dev \ libonig-dev \ libxml2-dev \ libmagickwand-dev \ imagemagick \ ghostscript \ && pecl install imagick \ && docker-php-ext-enable imagick # ImageMagick blockt PDF-Lesen/-Schreiben per Default (Debian policy.xml). # Fuer den falsisign-Nachbau (PDF -> Raster -> PDF via imagick/ghostscript) # muessen PDF-Rechte auf read|write gesetzt werden. RUN for policy in /etc/ImageMagick-7/policy.xml /etc/ImageMagick-6/policy.xml; do \ if [ -f "$policy" ]; then \ sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/' "$policy"; \ fi; \ done #&& rm -rf /var/lib/apt/lists/* \ RUN mkdir -p /run/nginx RUN docker-php-ext-install mysqli pdo pdo_mysql mbstring zip exif pcntl gd RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \ && apt-get install -y nodejs COPY /docker/php/composer.phar /usr/bin/composer # Upload-/Speicher-Limits fuer die Bildverarbeitung (zz- laedt zuletzt). COPY /docker/php/uploads.ini /usr/local/etc/php/conf.d/zz-uploads.ini # Arbeitsverzeichnis WORKDIR /var/www/html # Volumes für persistente Daten VOLUME ["/var/www/html"] # Ports EXPOSE 9000 # Start PHP-FPM + Nginx CMD ["sh", "-c", "php-fpm -D && nginx -g 'daemon off;'"] RUN chown -R development:development /var/www USER development # PHP-FPM läuft automatisch auf Port 9000 EXPOSE 9000 CMD ["php-fpm"]