freshrss-app/Dockerfile

47 lines
1.8 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 EXTENSIONS_VERSION b63f55d6fdd8e93da846bb741c3fed12d50909be
RUN mkdir -p /app/code
WORKDIR /app/code
# contains fix for extensions_path (see #2)
RUN curl -L https://github.com/cloudron-io/FreshRSS/archive/d56d8f31bd0e1f73e91ab9130a25fa0121cfd086.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/${EXTENSIONS_VERSION}.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" ]