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"]
