FROM php:8.3-apache # Dependencias del sistema RUN apt-get update && apt-get install -y --no-install-recommends \ git \ curl \ unzip \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libwebp-dev \ libzip-dev \ libpq-dev \ libicu-dev \ libxml2-dev \ && rm -rf /var/lib/apt/lists/* # Extensiones PHP requeridas por Laravel 13 RUN docker-php-ext-configure gd --with-jpeg --with-webp \ && docker-php-ext-install -j"$(nproc)" \ pdo_pgsql \ pgsql \ gd \ zip \ intl \ bcmath \ opcache RUN a2enmod rewrite # Apache debe servir el DocumentRoot de Laravel ENV APACHE_DOCUMENT_ROOT=/app/public RUN sed -ri 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \ && sed -ri 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf # Extensiones PECL útiles RUN pecl install redis \ && docker-php-ext-enable redis # Configuración de PHP para producción-ish en desarrollo COPY docker/php.ini /usr/local/etc/php/conf.d/app.ini # Composer COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer WORKDIR /app EXPOSE 80 CMD ["apache2-foreground"]