freshrss-app/Dockerfile

52 lines
2.0 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
ENV VERSION 1.10.2
ENV EXTENSIONS_VERSION b63f55d6fdd8e93da846bb741c3fed12d50909be
RUN mkdir -p /app/code
WORKDIR /app/code
RUN wget "https://github.com/FreshRSS/FreshRSS/archive/${VERSION}.tar.gz" -O - \
| tar -xz --strip-components=1
RUN mv data data-orig && ln -s /app/data data
# official extensions
ADD change-ttrss-file-path.patch /app/code/change-ttrss-file-path.patch
RUN wget https://github.com/FreshRSS/Extensions/archive/${EXTENSIONS_VERSION}.tar.gz -O - \
| tar -xz --strip-components=1 -C /app/code/extensions \
&& patch -p0 -d /app/code < /app/code/change-ttrss-file-path.patch \
&& mv /app/code/extensions /app/code/extensions-orig \
&& ln -s /app/data/extensions /app/code/extensions \
&& ln -s /app/data/extensions/ttrss.php /app/code/p/api/ttrss.php
# 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" ]