Files
api/services/php/Dockerfile
T
Jeppe Bundgaard d7705b8f34 Add support for dynamic image composition with Imagick in dynamicimages module
- Update `Dockerfile` to install `Imagick` dependencies and enable the extension.
- Enhance `dynamicimages_image_t` with canvas lifecycle methods (`initImageCanvas`, `clearImage`, etc.), transformations (`resize`, `crop`, `rotate`, etc.), and explicit asset compositing.
- Extend `dynamicimages_image_i` interface with corresponding method signatures.
- Refactor `machine_1` to utilize dynamic image canvas and layered asset drawing.
2026-01-27 12:05:53 +01:00

48 lines
1.2 KiB
Docker

# Use the official PHP 8.2 image with Apache disabled
FROM php:8.2-fpm
# Set the working directory inside the container
WORKDIR /var/www/html
# Install Composer globally
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Install required extensions and dependencies
RUN apt-get update && apt-get install -y \
libpng-dev \
libonig-dev \
libxml2-dev \
libmagickwand-dev \
imagemagick \
pkg-config \
zip \
git \
curl \
libzip-dev \
default-mysql-client \
&& docker-php-ext-install mbstring exif pcntl bcmath gd pdo_mysql mysqli zip \
&& pecl install imagick \
&& docker-php-ext-enable imagick
# Copy application files into the container
COPY /nginx/app /var/www/html
# Set the appropriate permissions for the working directory
RUN chown -R www-data:www-data /var/www/html \
&& chmod -R 755 /var/www/html
# Install using Composer
RUN composer install --no-dev
# Install the /var/www/html/modules/washcertificates directory
WORKDIR /var/www/html/modules/washcertificates
RUN composer install --no-dev
WORKDIR /var/www/html
# Expose port 9000
EXPOSE 9000
# Start PHP-FPM when the container starts
CMD ["php-fpm"]