forked from hazza/resourcespace-docker
83 lines
2.3 KiB
Docker
83 lines
2.3 KiB
Docker
FROM ubuntu:24.04
|
|
|
|
LABEL org.opencontainers.image.authors="Montala Ltd"
|
|
|
|
ENV DEBIAN_FRONTEND="noninteractive"
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
nano \
|
|
imagemagick \
|
|
apache2 \
|
|
subversion \
|
|
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 \
|
|
python3-pip \
|
|
certbot \
|
|
python3-certbot-apache \
|
|
python3-certbot-dns-cloudflare \
|
|
&& 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 = 1G/g" /etc/php/8.3/apache2/php.ini
|
|
|
|
RUN mkdir -p ~/.secrets/certbot \
|
|
touch ~/.secrets/certbot/cloudflare.ini \
|
|
chmod 600 ~/.secrets/certbot/cloudflare.ini
|
|
|
|
RUN printf 'dns_cloudflare_api_token=$DNS_CLOUDFLARE_API_TOKEN' >> ~/.secrets/certbot/cloudflare.ini
|
|
|
|
RUN touch /etc/apache2/sites-available/$RS_PUBLISHED_DOMAIN.conf
|
|
|
|
RUN printf '<VirtualHost *:80>\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\
|
|
</VirtualHost>\n'\
|
|
\n\
|
|
<Directory /var/www/>\n'\
|
|
\tOptions FollowSymLinks\n\
|
|
</VirtualHost>\n'\
|
|
>> /etc/apache2/sites-available/$RS_PUBLISHED_DOMAIN.conf
|
|
|
|
RUN a2ensite $RS_PUBLISHED_DOMAIN.conf \
|
|
service apache2 reload
|
|
|
|
RUN certbot run --apache --non-interactive --agree-tos -m $RS_SERVERADMIN --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -d $RS_PUBLISHED_DOMAIN
|
|
|
|
ADD cronjob /etc/cron.daily/resourcespace
|
|
|
|
WORKDIR /var/www/html
|
|
|
|
RUN rm -f index.html \
|
|
&& svn co -q https://svn.resourcespace.com/svn/rs/releases/10.5 . \
|
|
&& mkdir -p filestore \
|
|
&& chmod 777 filestore \
|
|
&& chmod -R 777 include/
|
|
|
|
CMD apachectl -D FOREGROUND
|