# Load php-apache FROM php:8.2-apache # Set working directory WORKDIR /var/www/html # Load args ARG UWUZU_SOURCE_TAG ARG UWUZU_SOURCE_URL ARG UWUZU_SOURCE_FILENAME ARG UWUZU_PLUGIN_PHPMAILER_URL ARG UWUZU_PLUGIN_PHPMAILER_FILENAME ARG UWUZU_PLUGIN_WATERMARK_TAG ARG UWUZU_PLUGIN_WATERMARK_URL ARG UWUZU_PLUGIN_WATERMARK_FILENAME ARG UWUZU_PLUGIN_OBJECTSTG_TAG ARG UWUZU_PLUGIN_OBJECTSTG_URL ARG UWUZU_PLUGIN_OBJECTSTG_FILENAME # Run as root USER root # Install packages(apt) RUN apt-get update RUN apt-get install -y wget 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 libjpeg-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/ # Auto download RUN if [ -d /var/www/html ]; then \ count=$(find /var/www/html -mindepth 1 -maxdepth 1 | wc -l); \ if [ "$count" -le 1 ]; then \ # uwuzu wget -O uwuzu.zip ${UWUZU_SOURCE_URL}/${UWUZU_SOURCE_TAG}/${UWUZU_SOURCE_FILENAME}; \ unzip uwuzu.zip; \ rm -f uwuzu.zip; \ # Plugins cd plugin; \ ## Mailer wget -O mailer.zip ${UWUZU_PLUGIN_PHPMAILER_URL}/${UWUZU_PLUGIN_PHPMAILER_FILENAME}; \ unzip mailer.zip; \ mv PHPMailer-* PHPMailer; \ rm -f mailer.zip; \ ## AIBlockWaterMark mkdir AIBlockWaterMark; \ cd AIBlockWaterMark; \ wget -O watermark.zip ${UWUZU_PLUGIN_WATERMARK_URL}/${UWUZU_PLUGIN_WATERMARK_TAG}/${UWUZU_PLUGIN_WATERMARK_FILENAME}; \ unzip watermark.zip; \ rm -f watermark.zip; \ cd ..; \ ## Object Storage mkdir aws; \ cd aws; \ wget -O aws.zip ${UWUZU_PLUGIN_OBJECTSTG_URL}/${UWUZU_PLUGIN_OBJECTSTG_TAG}/${UWUZU_PLUGIN_OBJECTSTG_FILENAME}; \ unzip aws.zip; \ rm -f aws.zip; \ cd ..; \ ## Change Directory cd ..; \ fi; \ fi # Insert docker RUN sed -i '2s/$/\(Docker\)/' /var/www/html/server/uwuzuinfo.txt # Remove flag RUN rm -f .source-flag # Change line break code RUN find /var/www/html -type f -exec dos2unix {} \; # Install PHP extensions RUN docker-php-ext-configure gd --with-freetype --with-webp --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 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 775 {} \; RUN chmod 775 /var/www/html # Start Apache CMD ["apache2-foreground"]