40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
FROM php:8.3-apache
|
|
|
|
# Install system dependencies and PHP extensions
|
|
RUN apt-get update && apt-get install -y \
|
|
libsqlite3-dev \
|
|
libzip-dev \
|
|
libjpeg-dev \
|
|
libpng-dev \
|
|
libwebp-dev \
|
|
libgif-dev \
|
|
imagemagick \
|
|
libmagickwand-dev \
|
|
unzip \
|
|
&& docker-php-ext-configure gd --with-jpeg --with-webp \
|
|
&& docker-php-ext-install pdo_sqlite zip gd \
|
|
&& pecl install imagick \
|
|
&& docker-php-ext-enable imagick
|
|
|
|
# Set DocumentRoot
|
|
ENV APACHE_DOCUMENT_ROOT=/var/www/html
|
|
|
|
# Copy application files
|
|
COPY . /var/www/html
|
|
|
|
# Copy custom PHP configuration
|
|
COPY /docker/php.ini /usr/local/etc/php/conf.d/php.ini
|
|
|
|
# Create data directories and set permissions
|
|
RUN mkdir -p /var/www/html/data/database /var/www/html/data/images/custom /var/www/html/data/images/backgrounds && \
|
|
chmod -R 775 /var/www/html/data
|
|
|
|
# Copy and set up entrypoint
|
|
COPY /docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
|
|
|
# Expose port and start Apache
|
|
EXPOSE 80
|
|
CMD ["apache2-foreground"]
|