FROM php:8.3-apache # Install system dependencies & SQLite / MySQL PDO drivers RUN apt-get update && apt-get install -y \ libsqlite3-dev \ sqlite3 \ unzip \ && docker-php-ext-install pdo pdo_sqlite pdo_mysql \ && rm -rf /var/lib/apt/lists/* # Enable Apache Rewrite Module RUN a2enmod rewrite # Configure Apache DocumentRoot to point to /public 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 # Set working directory WORKDIR /var/www/html # Copy application files COPY . /var/www/html/ # Create storage directory and ensure proper write permissions RUN mkdir -p /var/www/html/storage && \ chown -R www-data:www-data /var/www/html/storage && \ chmod -R 775 /var/www/html/storage # Expose HTTP port EXPOSE 80 CMD ["apache2-foreground"]