FROM php:8.3-apache # Instalar dependencias del sistema RUN apt-get update && apt-get install -y \ libcurl4-openssl-dev \ libzip-dev \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ unzip \ supervisor \ nano \ cron \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install pdo_mysql zip gd curl \ && pecl install redis \ && docker-php-ext-enable redis \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Habilitar módulos de Apache RUN a2enmod rewrite headers ssl # Copiar Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Crear directorio de logs RUN mkdir -p /var/www/html/logs && chown -R www-data:www-data /var/www/html/logs # Copiar configuración de Apache COPY docker/apache.conf /etc/apache2/sites-available/000-default.conf # Copiar configuración de Supervisor COPY docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf # Copiar el proyecto completo COPY . /var/www/html/ # Instalar dependencias de PHP RUN composer install --no-dev --optimize-autoloader # Permisos correctos RUN chown -R www-data:www-data /var/www/html \ && chmod -R 755 /var/www/html \ && chmod -R 775 /var/www/html/logs \ && chmod -R 775 /var/www/html/galeria # Puerto expuesto EXPOSE 80 # Iniciar Apache y Supervisor CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]