FROM php:8.5-apache # Install pdo_sqlite and enable mod_rewrite RUN apt-get update \ && apt-get install -y libsqlite3-dev \ && rm -rf /var/lib/apt/lists/* \ && docker-php-ext-install pdo_sqlite \ && a2enmod rewrite # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Configure Apache virtual host COPY docker/vhost.conf /etc/apache2/sites-available/000-default.conf COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh WORKDIR /var/www/html # Copy application files COPY . . # Generate autoloader (no external dependencies — just generates vendor/autoload.php) RUN composer install --no-dev --optimize-autoloader --no-interaction # Create database directory and set correct permissions RUN mkdir -p database \ && chown -R www-data:www-data /var/www/html \ && chmod 775 database EXPOSE 80 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]