- 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.
48 lines
1.2 KiB
Docker
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"] |