Files
2025-12-16 09:45:01 +00:00

111 lines
3.0 KiB
Docker

# 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 libexif-dev
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
# 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 exif
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"]