freshrss-app/Dockerfile

42 lines
1.8 KiB
Docker

FROM cloudron/base:4.0.0@sha256:31b195ed0662bdb06a6e8a5ddbedb6f191ce92e8bee04c03fb02dd4e9d0286df
RUN mkdir -p /app/code
WORKDIR /app/code
ARG VERSION=1.20.2
RUN curl -L https://github.com/FreshRSS/FreshRSS/archive/${VERSION}.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/1784092164139dc6961ba5cc5b920331b586acbc.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 deflate mime dir rewrite setenvif
RUN rm -rf /var/lib/php && ln -s /run/php /var/lib/php
RUN crudini --set /etc/php/8.1/apache2/php.ini PHP upload_max_filesize 64M && \
crudini --set /etc/php/8.1/apache2/php.ini PHP post_max_size 64M && \
crudini --set /etc/php/8.1/apache2/php.ini PHP memory_limit 64M && \
crudini --set /etc/php/8.1/apache2/php.ini Session session.save_path /run/php/session && \
crudini --set /etc/php/8.1/apache2/php.ini Session session.gc_probability 1 && \
crudini --set /etc/php/8.1/apache2/php.ini Session session.gc_divisor 100
RUN ln -s /app/data/php.ini /etc/php/8.1/apache2/conf.d/99-cloudron.ini && \
ln -s /app/data/php.ini /etc/php/8.1/cli/conf.d/99-cloudron.ini
ADD start.sh /app/code/start.sh
CMD [ "/app/code/start.sh" ]