FROM php:8.2-apache

# Set the proxy environment variables for apt and php
# ENV http_proxy="http://172.16.20.207:3128"
# ENV https_proxy="http://172.16.20.207:3128"

# Configure apt to use the proxy
RUN echo 'Acquire::http::Proxy "http://172.16.20.207:3128";' > /etc/apt/apt.conf.d/95proxies \
    && echo 'Acquire::https::Proxy "http://172.16.20.207:3128";' >> /etc/apt/apt.conf.d/95proxies \
    && echo 'Acquire::ftp::Proxy "http://172.16.20.207:3128";' >> /etc/apt/apt.conf.d/95proxies

RUN apt-get update && apt-get install -y \
    vim \
    curl \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libicu-dev \
    libxml2-dev \
    libssl-dev \
    libcurl4-openssl-dev \
    zlib1g-dev \
    default-mysql-client \
    && docker-php-ext-install mysqli pdo pdo_mysql \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# Install Node.js 16.x
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - \
    && apt-get install -y nodejs \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /var/www/html

# Enable Apache mod_rewrite for URL rewriting
RUN a2enmod rewrite

# Config apache2
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
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# Install PHP extensions
RUN docker-php-ext-install mysqli pdo pdo_mysql gd && \
    docker-php-ext-enable mysqli pdo pdo_mysql gd

COPY --from=build /var/www/html/ /var/www/html/

#
COPY ./docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]

EXPOSE 9000

CMD ["apache2-foreground"]
