FROM alpine:3.18

RUN apk add --no-cache \
    bash \
    sed \
    vim \
    ca-certificates \
    openldap-clients \
    wget \
    npm \   
    git \
    curl \
    unzip \
    zip \
    openssl \
    mariadb-client \
    certbot \
    gettext \
    supervisor

RUN apk add --no-cache \ 
    apache2 \
    apache2-proxy \
    apache2-ssl

RUN apk add --no-cache \ 
    php81 \
    php81-apache2 \
    php81-gd \
    php81-zip \
    php81-xml \
    php81-ctype \
    php81-simplexml \
    php81-tokenizer \
    php81-sodium \
    php81-dom \
    php81-pdo \
    php81-pdo_pgsql \
    php81-pdo_mysql \
    php81-curl \
    php81-ldap \
    php81-pecl-igbinary \
    php81-session \
    php81-pecl-redis \
    php81-fileinfo \
    php81-xmlwriter \
    php81-openssl \
    php81-phar \
    php81-iconv \
    php81-mbstring \
    php81-fpm \
    php81-sockets \
    php81-opcache \
    php81-intl \
    php81-bcmath \
    php81-pecl-ssh2

RUN curl -k https://forge.cadoles.com/Cadoles/Jenkins/raw/branch/master/resources/com/cadoles/common/add-letsencrypt-ca.sh | bash

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN npm install -g n
RUN npm install -g yarn

RUN mkdir /etc/supervisor.d

COPY apache2.sh /etc/apache2/apache2.sh
RUN chmod +x /etc/apache2/apache2.sh  
COPY php.local.ini /etc/php81/conf.d/
COPY httpd.conf /etc/apache2/httpd.conf
COPY site.conf /etc/apache2/conf.d/nine/site.conf
COPY sslself.conf /etc/apache2/conf.d/ssl.conf
COPY index.php /app/public/index.php

RUN mkdir /nine
COPY sslletsencrypt.conf /nine/ssl.conf
RUN mkdir -p /usr/local/apache2/htdocs/.well-known/acme-challenge
COPY addcertif.sh /nine/addcertif.sh
RUN chmod +x /nine/addcertif.sh
RUN echo "0 1 * * * /etc/apache2/addcertif.sh >> /var/log/addcertif.log 2>&1" >> /var/spool/cron/crontabs/root

CMD /etc/apache2/apache2.sh