buildx/freshrss/Dockerfile
2020-10-22 11:16:35 +00:00

61 lines
2.2 KiB
Docker

FROM debian:buster-20200908-slim
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ UTC
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update -qq && \
apt-get install --no-install-recommends -qqy \
ca-certificates cron \
apache2 libapache2-mod-php \
php-curl php-gmp php-intl php-mbstring php-xml php-zip \
php-sqlite3 php-mysql php-pgsql wget && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/www/ /run/apache2/
ARG VERSION
ARG SRC=https://github.com/FreshRSS/FreshRSS/archive/${VERSION}.tar.gz
RUN wget ${SRC} && tar -xf ${VERSION}.tar.gz && rm ${VERSION}.tar.gz && \
mv FreshRSS-${VERSION} /var/www/FreshRSS && \
mv /var/www/FreshRSS/Docker/FreshRSS.Apache.conf /etc/apache2/sites-available/ && \
sed -i "s/\:80/\:8080/" /etc/apache2/sites-available/FreshRSS.Apache.conf && \
sed -i "s/OS/Prod/" /etc/apache2/sites-available/FreshRSS.Apache.conf
ADD entrypoint.sh /usr/local/bin/entrypoint.sh
RUN a2dismod -f alias autoindex negotiation status && \
a2enmod deflate expires headers mime setenvif && \
a2disconf '*' && \
a2dissite '*' && \
a2ensite 'FreshRSS*'
RUN sed -r -i "/^\s*(CustomLog|ErrorLog|Listen) /s/^/#/" /etc/apache2/apache2.conf && \
sed -r -i "/^\s*Listen /s/^/#/" /etc/apache2/ports.conf && \
sed -r -i "/^\s*User /s/^/#/" /etc/apache2/apache2.conf && \
sed -r -i "/^\s*Group /s/^/#/" /etc/apache2/apache2.conf && \
touch /var/www/FreshRSS/Docker/env.txt && \
chown www-data:www-data /var/run/apache2/
WORKDIR /var/www/FreshRSS
RUN chown -R :www-data . && \
chmod -R g+r . && chmod -R g+w ./data/ ./Docker/env.txt && \
find /etc/php*/ -name php.ini -exec sed -r -i "\\#^;?date.timezone#s#^.*#date.timezone = $TZ#" {} \; && \
find /etc/php*/ -name php.ini -exec sed -r -i "\\#^;?post_max_size#s#^.*#post_max_size = 32M#" {} \; && \
find /etc/php*/ -name php.ini -exec sed -r -i "\\#^;?upload_max_filesize#s#^.*#upload_max_filesize = 32M#" {} \;
ENV COPY_LOG_TO_SYSLOG On
ENV COPY_SYSLOG_TO_STDERR On
ENV CRON_MIN ''
ENV FRESHRSS_ENV ''
# UID of www-data
USER 33
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
EXPOSE 8080
CMD ([ -z "$CRON_MIN" ] || cron) && \
. /etc/apache2/envvars && \
exec apache2 -D FOREGROUND