freshrss-app/Dockerfile

44 lines
1.7 KiB
Docker

FROM cloudron/base:0.10.0
RUN apt-get update \
&& apt-get -y install php php-curl php-gmp php-intl php-mbstring php-xml php-zip \
libapache2-mod-php mysql-client php-mysql
RUN mkdir -p /app/code
WORKDIR /app/code
RUN curl -L https://github.com/FreshRSS/FreshRSS/archive/1.11.2.tar.gz | tar -zxvf - --strip-components=1
RUN mv data data-orig && ln -s /app/data data
# official extensions
RUN wget https://github.com/FreshRSS/Extensions/archive/2d0358e75961cbfcac7c2cbe09b098905ff67803.tar.gz -O - | tar -xz --strip-components=1 -C /app/code/extensions && \
mv /app/code/extensions /app/code/extensions-orig && \
ln -s /app/data/extensions /app/code/extensions
# configure apache
RUN rm /etc/apache2/sites-enabled/*
RUN sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf
COPY apache/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.conf
RUN a2disconf other-vhosts-access-log
ADD apache/freshrss.conf /etc/apache2/sites-enabled/freshrss.conf
RUN echo "Listen 8000" > /etc/apache2/ports.conf
RUN a2enmod headers expires
RUN rm -rf /var/lib/php \
&& ln -s /run/php /var/lib/php \
&& mkdir -p /run/php/session
RUN crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 64M && \
crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 64M && \
crudini --set /etc/php/7.0/apache2/php.ini PHP memory_limit 64M && \
crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/php/session && \
crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_probability 1 && \
crudini --set /etc/php/7.0/apache2/php.ini Session session.gc_divisor 100
ADD start.sh /app/code/start.sh
CMD [ "/app/code/start.sh" ]