Files
api/services/php/Dockerfile
T
Jepp9350 797630d8bd Add backup and email enhancements with PHPMailer integration
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.
2025-02-11 14:25:26 +01:00

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