72 lines
2.1 KiB
Docker
72 lines
2.1 KiB
Docker
FROM ubuntu:18.04 AS builder
|
|
|
|
ARG TTRSS_GIT_TAG=master
|
|
ARG FEEDLY_GIT_TAG=master
|
|
|
|
# install curl to fetch stuff
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
curl
|
|
|
|
# download tagged version of tt-rss sources
|
|
RUN mkdir -p /download/ttrss \
|
|
&& curl -SL https://git.tt-rss.org/git/tt-rss/archive/$TTRSS_GIT_TAG.tar.gz | tar xzC /download/ttrss --strip-components 1
|
|
|
|
# download some themes
|
|
RUN mkdir -p /download/feedly-theme \
|
|
&& curl -SL https://github.com/levito/tt-rss-feedly-theme/archive/v$FEEDLY_GIT_TAG.tar.gz | tar xzC /download/feedly-theme --strip-components 1
|
|
|
|
|
|
FROM ubuntu:18.04
|
|
MAINTAINER Hanjo Meinhardt <hanjo@bunix.de>
|
|
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
nginx \
|
|
supervisor \
|
|
php7.2-fpm \
|
|
php7.2-cli \
|
|
php7.2-curl \
|
|
php7.2-gd \
|
|
php7.2-json \
|
|
php7.2-pgsql \
|
|
php7.2-mysql \
|
|
php7.2-intl \
|
|
php7.2-mbstring \
|
|
php7.2-xml \
|
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
# add ttrss as the only nginx site
|
|
ADD ttrss.nginx.conf /etc/nginx/sites-available/ttrss
|
|
RUN ln -s /etc/nginx/sites-available/ttrss /etc/nginx/sites-enabled/ttrss
|
|
RUN rm /etc/nginx/sites-enabled/default
|
|
|
|
# install ttrss and patch configuration
|
|
WORKDIR /var/www
|
|
|
|
# copy the ttrss sources
|
|
COPY --from=builder /download/ttrss ./
|
|
|
|
# copy the feedly theme files
|
|
COPY --from=builder /download/feedly-theme/feedly ./themes.local/feedly/
|
|
COPY --from=builder /download/feedly-theme/feedly*.css ./themes.local/
|
|
|
|
# prepare the runtime environment
|
|
RUN cp config.php-dist config.php \
|
|
&& chown www-data:www-data -R /var/www \
|
|
&& mkdir -p /var/run/php
|
|
|
|
# expose only nginx HTTP port
|
|
EXPOSE 80
|
|
|
|
# complete path to ttrss
|
|
ENV SELF_URL_PATH http://localhost
|
|
|
|
# expose default database credentials via ENV in order to ease overwriting
|
|
ENV DB_NAME ttrss
|
|
ENV DB_USER ttrss
|
|
ENV DB_PASS ttrss
|
|
|
|
# always re-configure database with current ENV when RUNning container, then monitor all services
|
|
ADD configure-db.php /configure-db.php
|
|
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
|
CMD php /configure-db.php && supervisord -c /etc/supervisor/conf.d/supervisord.conf
|