Introduced a backup system managing database and metadata files using Minio/S3, alongside routes for handling these. Integrated PHPMailer for robust email functionalities, including configuration testing and SMTP handling. Updated Dockerfile, composer dependencies, and minor code improvements to support new features.
46 lines
1.1 KiB
Docker
46 lines
1.1 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 \
|
|
zip \
|
|
git \
|
|
curl \
|
|
libzip-dev \
|
|
default-mysql-client \
|
|
&& docker-php-ext-install mbstring exif pcntl bcmath gd pdo_mysql mysqli zip
|
|
|
|
# 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
|
|
|
|
# Require the phpmailer/phpmailer package
|
|
RUN composer require phpmailer/phpmailer
|
|
|
|
# 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"] |