FROM ubuntu:24.04 LABEL org.opencontainers.image.authors="Montala Ltd" ENV DEBIAN_FRONTEND="noninteractive" ARG RS_PUBLISHED_DOMAIN ARG RS_SERVERADMIN ARG DNS_CLOUDFLARE_API_TOKEN RUN apt-get update && apt-get install -y \ nano \ imagemagick \ apache2 \ git \ ghostscript \ antiword \ poppler-utils \ libimage-exiftool-perl \ cron \ postfix \ wget \ php \ php-apcu \ php-curl \ php-dev \ php-gd \ php-intl \ php-mysqlnd \ php-mbstring \ php-zip \ libapache2-mod-php \ ffmpeg \ libopencv-dev \ python3-opencv \ python3 \ certbot \ python3-certbot-dns-cloudflare \ python3-certbot-apache \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" /etc/php/8.3/apache2/php.ini \ && sed -i -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" /etc/php/8.3/apache2/php.ini \ && sed -i -e "s/max_execution_time\s*=\s*30/max_execution_time = 300/g" /etc/php/8.3/apache2/php.ini \ && sed -i -e "s/memory_limit\s*=\s*128M/memory_limit = 4G/g" /etc/php/8.3/apache2/php.ini RUN mkdir -p ~/.secrets/certbot RUN printf "dns_cloudflare_api_token=$DNS_CLOUDFLARE_API_TOKEN" >> ~/.secrets/certbot/cloudflare.ini RUN chmod 600 ~/.secrets/certbot/cloudflare.ini RUN printf "\n\ \tServerName $RS_PUBLISHED_DOMAIN\n\ \tServerAdmin $RS_SERVERADMIN\n\ \tDocumentRoot /var/www/html\n\ \n\ \tErrorLog ${APACHE_LOG_DIR}/$RS_PUBLISHED_DOMAIN.error.log\n\ \tCustomLog ${APACHE_LOG_DIR}/$RS_PUBLISHED_DOMAIN.access.log combined\n\ \n\ \n\ \n\ \tOptions FollowSymLinks\n\ \n"\ >> /etc/apache2/sites-available/$RS_PUBLISHED_DOMAIN.conf RUN a2ensite $RS_PUBLISHED_DOMAIN.conf ADD cronjob /etc/cron.daily/resourcespace RUN rm -rf var/www/html/* WORKDIR /var/www/html RUN git clone --single-branch --branch 10.6 https://git.internal.yel.or.id/hazza/resourcespace . \ && mkdir -p filestore \ && chmod 777 filestore \ && chmod -R 777 include/ RUN certbot run -i apache \ -a dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \ --non-interactive --agree-tos --no-eff-email -m $RS_SERVERADMIN \ -d $RS_PUBLISHED_DOMAIN CMD apachectl -D FOREGROUND