FROM debian:bookworm

# Set the DEBIAN_FRONTEND variable to prevent interactive prompts during package installation.
ARG DEBIAN_FRONTEND=noninteractive

# Install Apache, PHP, and other required extensions
# ADDED: sudo and mariadb-client for the entrypoint script
RUN apt-get update && apt-get install -y \
    apache2 \
    php \
    php-cli \
    php-gd \
    php-mysql \
    php-intl \
    php-curl \
    php-xml \
    php-xmlrpc \
    php-soap \
    php-zip \
    php-mbstring \
    unzip \
    git \
    sudo \
    mariadb-client \
    curl \
    zip \
    && rm -rf /var/lib/apt/lists/*

# Add custom PHP settings for Moodle
COPY moodle.ini /etc/php/8.2/apache2/conf.d/99-moodle.ini
COPY moodle.ini /etc/php/8.2/cli/conf.d/99-moodle.ini

# Set a global ServerName for Apache to suppress the FQDN warning.
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf

# Download and unpack Moodle
ARG MOODLE_VERSION=403
RUN rm -rf /var/www/html
RUN git clone --depth 1 --branch MOODLE_${MOODLE_VERSION}_STABLE https://github.com/moodle/moodle.git /var/www/html/

# Create the moodledata directory
RUN mkdir /var/www/moodledata && chown -R www-data:www-data /var/www/moodledata

# Set correct permissions
WORKDIR /var/www/html
RUN chown -R www-data:www-data /var/www/html

# --- UPDATED SECTION ---
# Copy the entrypoint script to a standard location and make it executable
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

# Set the entrypoint
ENTRYPOINT ["docker-entrypoint.sh"]

# command to start Apache on Debian
CMD ["apache2ctl", "-D", "FOREGROUND"]
