# Use Ubuntu as base image
FROM ubuntu:22.04

# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive

# Install additional packages if needed
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    git \
    vim \
    zip \
    curl \
    apache2 \
    ca-certificates \
    php8.1 \
    php8.1-pgsql \
    php8.1-common \
    php8.1-cli \
    libapache2-mod-php8.1 

RUN apt-get install -y --no-install-recommends \
    php8.1-zip \
    php8.1-curl \
    php8.1-mbstring \
    php8.1-xml \
    php8.1-intl \
    php8.1-fpm

RUN a2enmod env rewrite php8.1

RUN mkdir -p /var/www/trojansoftware/public

# Configure Apache2
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf

RUN sed -i 's|DocumentRoot /var/www/html|DocumentRoot /var/www/trojansoftware/public|g' /etc/apache2/sites-available/000-default.conf

RUN echo '<Directory /var/www/trojansoftware/public>\n\
    AllowOverride All\n\
    Require all granted\n\
</Directory>' > /etc/apache2/conf-available/trojansoftware.conf

RUN a2enconf trojansoftware


COPY ./startup.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/startup.sh

# Expose port 80
EXPOSE 80

ENTRYPOINT ["/usr/local/bin/startup.sh"]
