56 lines
1.4 KiB
Docker
56 lines
1.4 KiB
Docker
# Load php-apache
|
|
FROM php:8.2-apache
|
|
|
|
# Set working directory
|
|
WORKDIR /var/www/html
|
|
|
|
# Run as root
|
|
USER root
|
|
|
|
# Install packages(apt)
|
|
RUN apt-get update
|
|
RUN apt-get install -y dos2unix
|
|
RUN apt-get install -y libwebp-dev
|
|
RUN apt-get install -y libpng-dev
|
|
RUN apt-get install -y libjpeg62-turbo-dev
|
|
RUN apt-get install -y libfreetype6-dev
|
|
RUN apt-get install -y libonig-dev
|
|
RUN apt-get install -y libzip-dev
|
|
RUN apt-get install -y libcurl4-openssl-dev
|
|
RUN apt-get install -y zip
|
|
RUN apt-get install -y unzip
|
|
RUN apt-get install -y curl
|
|
RUN apt-get clean
|
|
RUN rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy app
|
|
COPY src/ /var/www/html/
|
|
RUN find /var/www/html -type f -exec dos2unix {} \;
|
|
|
|
# Install PHP extensions
|
|
RUN docker-php-ext-configure gd --with-freetype --with-webp
|
|
RUN docker-php-ext-install gd
|
|
RUN docker-php-ext-install pdo_mysql
|
|
RUN docker-php-ext-install mysqli
|
|
RUN docker-php-ext-install mbstring
|
|
RUN docker-php-ext-install zip
|
|
RUN docker-php-ext-install fileinfo
|
|
RUN docker-php-ext-install curl
|
|
|
|
# Enable Apache modules
|
|
RUN a2enmod rewrite
|
|
RUN a2enmod headers
|
|
|
|
# Copy custom configuration
|
|
COPY php/php.ini /usr/local/etc/php/conf.d/99-custom.ini
|
|
COPY php/apache2.conf /etc/apache2/conf-enabled/99-custom.conf
|
|
|
|
# Set permissions
|
|
RUN chown -R www-data:www-data /var/www/html
|
|
RUN find /var/www/html -type d -exec chmod 775 {} \;
|
|
RUN find /var/www/html -type f -exec chmod 664 {} \;
|
|
RUN chmod 777 /var/www/html
|
|
|
|
# Start Apache
|
|
CMD ["apache2-foreground"]
|