From dda4c211c41882a260da96ff50c6b8c71dfe3546 Mon Sep 17 00:00:00 2001 From: D4rkHeart <leonardo.surdez@gmail.com> Date: Tue, 26 Sep 2023 09:28:15 +0200 Subject: [PATCH] [Feat] Creation of production dockerfile --- Docker/Dockerfile-api.dockerfile | 25 +++++++++++++++++++++++++ Docker/Dockerfile-form.dockerfile | 30 ++++++++++++++++++++++++++++++ Docker/Dockerfile-gest.dockerfile | 10 ++++++++++ 3 files changed, 65 insertions(+) create mode 100644 Docker/Dockerfile-api.dockerfile create mode 100644 Docker/Dockerfile-form.dockerfile create mode 100644 Docker/Dockerfile-gest.dockerfile diff --git a/Docker/Dockerfile-api.dockerfile b/Docker/Dockerfile-api.dockerfile new file mode 100644 index 0000000..5242580 --- /dev/null +++ b/Docker/Dockerfile-api.dockerfile @@ -0,0 +1,25 @@ +FROM php:8.2-apache + +WORKDIR /var/www/html/ + +RUN apt-get update; apt-get install -yq git vim zip libldap2-dev; +RUN curl -sS https://getcomposer.org/installer | php +RUN mv composer.phar /usr/local/bin/composer +RUN export PATH=$PATH:/root/.composer/vendor/bin + +RUN docker-php-ext-install pdo pdo_mysql +RUN a2enmod rewrite + +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 echo "LimitRequestFieldSize 81920" > /etc/apache2/conf-enabled/say-yes-to-bearer-tokens.conf +RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap + +# Copy the code into the container +COPY ./API /var/www/html/ +RUN composer update && composer install + +# Change permissions on copied files +RUN chown -R www-data:www-data /var/www/html/ +# USER www-data diff --git a/Docker/Dockerfile-form.dockerfile b/Docker/Dockerfile-form.dockerfile new file mode 100644 index 0000000..cbb82ab --- /dev/null +++ b/Docker/Dockerfile-form.dockerfile @@ -0,0 +1,30 @@ +FROM php:8.2-apache + +RUN apt-get update; +RUN apt-get install -f -y msmtp msmtp-mta; + +RUN echo 'sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -t"' >> /usr/local/etc/php/php.ini +RUN echo 'sendmail_from = "noreply@epfl.ch"' >> /usr/local/etc/php/php.ini +RUN touch /etc/msmtprc +RUN echo "defaults" > /etc/msmtprc +RUN echo "logfile /var/log/msmtp.log" >> /etc/msmtprc +RUN echo "" >> /etc/msmtprc +RUN echo "account epfl" >> /etc/msmtprc +RUN echo "host mail.epfl.ch" >> /etc/msmtprc +RUN echo "port 25" >> /etc/msmtprc +RUN echo "from noreply@epfl.ch" >> /etc/msmtprc +RUN echo "" >> /etc/msmtprc +RUN echo "account default : epfl" >> /etc/msmtprc + +#php -r "mail('nicolas.borboen@epfl.ch', 'Test Postfix', 'Test mail from postfix');" + +RUN docker-php-ext-install pdo_mysql + +# cleanup +RUN apt-get -y autoremove && apt-get -y clean; + +# Copy the config into the container +COPY ./Docker/canap_apache.conf /etc/apache2/conf-enabled + +# Copy the code into the container +COPY ./form /var/www/html/ diff --git a/Docker/Dockerfile-gest.dockerfile b/Docker/Dockerfile-gest.dockerfile new file mode 100644 index 0000000..d9cb600 --- /dev/null +++ b/Docker/Dockerfile-gest.dockerfile @@ -0,0 +1,10 @@ +FROM node:15-alpine as build +WORKDIR /home/node/app +COPY ./gest /home/node/app +RUN npm install -y && npm run build + +FROM httpd:latest +WORKDIR /root/ +COPY --from=build /home/node/app/dist /usr/local/apache2/htdocs/gest +COPY Docker/docker-entrypoint-gest.sh /docker-entrypoint.sh +CMD /docker-entrypoint.sh \ No newline at end of file -- GitLab