# Postwoo — plain PHP 8.3, no Composer required.
FROM php:8.3-apache

RUN apt-get update && apt-get install -y --no-install-recommends \
        libzip-dev libpng-dev libjpeg-dev libwebp-dev libicu-dev libsodium-dev unzip cron \
        ffmpeg \
    && docker-php-ext-configure gd --with-jpeg --with-webp \
    && docker-php-ext-install -j"$(nproc)" pdo_mysql gd intl zip opcache pcntl \
    && pecl install redis && docker-php-ext-enable redis \
    && a2enmod rewrite headers \
    && rm -rf /var/lib/apt/lists/*

ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \
    && sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

COPY docker/php.ini /usr/local/etc/php/conf.d/postwoo.ini
COPY docker/apache-postwoo.conf /etc/apache2/conf-enabled/postwoo.conf
COPY docker/entrypoint.sh /usr/local/bin/postwoo-entrypoint
RUN chmod +x /usr/local/bin/postwoo-entrypoint

WORKDIR /var/www/html
COPY . .
RUN chown -R www-data:www-data storage && chmod +x bin/postwoo

ENTRYPOINT ["postwoo-entrypoint"]
CMD ["apache2-foreground"]
