2015-09-04 17:12:37 +02:00
|
|
|
FROM kdelfour/supervisor-docker
|
2014-05-19 09:33:44 +02:00
|
|
|
# Initially was based on work of Christian Lück <christian@lueck.tv>
|
2014-05-13 21:54:26 +02:00
|
|
|
MAINTAINER Andreas Löffler <andy@x86dev.com>
|
2014-04-26 17:24:57 +02:00
|
|
|
|
|
|
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
|
2014-05-19 09:33:44 +02:00
|
|
|
nginx git ca-certificates php5-fpm php5-cli php5-curl php5-gd php5-json \
|
2015-09-04 17:12:37 +02:00
|
|
|
php5-pgsql
|
2014-04-26 17:24:57 +02:00
|
|
|
# php5-mysql
|
|
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
# add ttrss as the only Nginx site
|
2014-07-22 15:23:42 +02:00
|
|
|
ADD ttrss-nginx.conf /etc/nginx/sites-available/ttrss
|
2014-04-26 17:24:57 +02:00
|
|
|
RUN ln -s /etc/nginx/sites-available/ttrss /etc/nginx/sites-enabled/ttrss
|
|
|
|
|
RUN rm /etc/nginx/sites-enabled/default
|
|
|
|
|
|
2014-05-13 21:54:26 +02:00
|
|
|
# patch php5-fpm configuration so that it does not daemonize itself. This is
|
2014-05-19 09:33:44 +02:00
|
|
|
# needed so that runit can watch its state and restart it if it crashes etc.
|
2014-05-13 21:54:26 +02:00
|
|
|
RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php5/fpm/php-fpm.conf
|
|
|
|
|
|
|
|
|
|
# patch the php-fpm's listening method to _always_ use a unix socket
|
|
|
|
|
# note: if not done correctly this will result in a "502 Bad Gateway" error
|
|
|
|
|
# (see /var/log/nginx/error.log for more information then)
|
|
|
|
|
RUN sed -i -e "s/listen\s*=.*/listen = \/var\/run\/php5-fpm.sock/g" /etc/php5/fpm/pool.d/www.conf
|
|
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
# expose Nginx ports
|
|
|
|
|
EXPOSE 80
|
2014-07-22 15:23:42 +02:00
|
|
|
EXPOSE 443
|
2014-04-26 17:24:57 +02:00
|
|
|
|
|
|
|
|
# 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
|
2014-05-19 09:33:44 +02:00
|
|
|
## @todo pack the scripts to a .zip, ADD this and RUN it in setup.sh. Later.
|
2015-09-04 17:12:37 +02:00
|
|
|
RUN mkdir -p /srv
|
|
|
|
|
ADD ttrss-utils.php /srv/ttrss-utils.php
|
|
|
|
|
ADD ttrss-configure-db.php /srv/ttrss-configure-db.php
|
|
|
|
|
ADD ttrss-configure-plugin-mobilize.php /srv/ttrss-configure-plugin-mobilize.php
|
|
|
|
|
ADD ttrss-plugin-mobilize.pgsql /srv/ttrss-plugin-mobilize.pgsql
|
2014-05-19 09:33:44 +02:00
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
ADD setup-ttrss.sh /srv/setup-ttrss.sh
|
|
|
|
|
ADD update-ttrss.sh /srv/update-ttrss.sh
|
2015-09-05 01:00:23 +02:00
|
|
|
ADD start-ttrss.sh /srv/start-ttrss.sh
|
2014-07-22 15:23:42 +02:00
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
# add updater script for rolling release model -- currently runs on a daily basis
|
|
|
|
|
RUN ln -s /srv/update-ttrss.sh /etc/cron.daily/update-ttrss.sh
|
|
|
|
|
RUN service cron restart
|
2014-05-19 09:33:44 +02:00
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
RUN mkdir -p /etc/supervisor/conf.d
|
|
|
|
|
ADD service-nginx.conf /etc/supervisor/conf.d/nginx.conf
|
|
|
|
|
ADD service-php5-fpm.conf /etc/supervisor/conf.d/php5.conf
|
|
|
|
|
ADD service-ttrss-update.conf /etc/supervisor/conf.d/ttrss-update.conf
|
2014-05-19 09:33:44 +02:00
|
|
|
|
2015-09-05 01:00:23 +02:00
|
|
|
# only run the setup once
|
2015-09-04 17:12:37 +02:00
|
|
|
RUN /srv/setup-ttrss.sh
|
2014-05-19 09:33:44 +02:00
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
# clean up
|
|
|
|
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
2015-05-18 00:07:50 +02:00
|
|
|
|
2015-09-04 17:12:37 +02:00
|
|
|
# start supervisord
|
|
|
|
|
WORKDIR /srv
|
2015-09-05 01:11:48 +02:00
|
|
|
CMD ["/srv/start-ttrss.sh"]
|