59 lines
1.4 KiB
Docker
59 lines
1.4 KiB
Docker
# Load php-apache
|
|
FROM php:8.2-apache
|
|
|
|
# Set working directory
|
|
WORKDIR /var/www/html
|
|
|
|
# Install packages(apt)
|
|
RUN apt-get update
|
|
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 uwuzu
|
|
COPY src /usr/src/app
|
|
|
|
# Install packages(php)
|
|
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
|
|
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
|
|
USER root
|
|
RUN chown -R www-data:www-data /usr/src/app
|
|
RUN find /usr/src/app -type d -exec chmod 775 {} \;
|
|
RUN find /usr/src/app -type f -exec chmod 664 {} \;
|
|
RUN chmod 777 /usr/src/app
|
|
|
|
# Copy entrypoint
|
|
COPY php/entrypoint.sh /usr/src/entrypoint.sh
|
|
RUN chmod +x /usr/src/entrypoint.sh
|
|
|
|
# Run as www-data
|
|
USER www-data
|
|
|
|
# Exec entrypoint
|
|
ENTRYPOINT ["/usr/src/entrypoint.sh"]
|
|
|