Files
nexus/docker/Dockerfile
T
2026-07-21 14:35:34 +02:00

70 lines
1.7 KiB
Docker

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"]