1FROM php:8.5-apache
2
3RUN apt-get update && apt-get install -y --no-install-recommends \
4 libzip-dev \
5 libpng-dev \
6 libjpeg62-turbo-dev \
7 libfreetype6-dev \
8 libcurl4-openssl-dev \
9 libonig-dev \
10 unzip \
11 git \
12 && docker-php-ext-configure gd --with-jpeg --with-freetype \
13 && docker-php-ext-install mysqli pdo_mysql zip gd curl \
14 && pecl install apcu \
15 && docker-php-ext-enable apcu \
16 && a2enmod rewrite \
17 && apt-get purge -y --auto-remove git \
18 && rm -rf /var/lib/apt/lists/*
19
20COPY docker/php.ini /usr/local/etc/php/conf.d/znotex.ini
21COPY docker/apache-htaccess.conf /etc/apache2/conf-enabled/z-znotex.conf
22
23COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
24
25WORKDIR /var/www/html
26
27COPY . .
28RUN composer install --no-dev --no-interaction --no-scripts --optimize-autoloader \
29 && chown -R www-data:www-data /var/www/html \
30 && chmod -R u+rwX,g+rX engine/cache engine/img/theme 2>/dev/null || true
31
32COPY docker/entrypoint.sh /usr/local/bin/znotex-entrypoint.sh
33RUN chmod +x /usr/local/bin/znotex-entrypoint.sh
34
35ENTRYPOINT ["/usr/local/bin/znotex-entrypoint.sh"]
36CMD ["apache2-foreground"]
37