Now based on Alpine Linux and s6 as supervisor, resulting in a much smaller Docker image. See README.md for details and other additions.

This commit is contained in:
x86dev 2017-02-21 23:50:51 +01:00
parent d7247f6861
commit 72f562e36c
7 changed files with 30 additions and 20 deletions

View File

@ -1,2 +1,2 @@
#!/bin/sh #!/usr/bin/with-contenv sh
exec nginx exec nginx

View File

@ -1,2 +1,2 @@
#!/bin/sh #!/usr/bin/with-contenv sh
exec php-fpm exec php-fpm

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/usr/bin/with-contenv sh
while true; do while true; do
cd /var/www/ttrss cd /var/www/ttrss
php -f /var/www/ttrss/update_daemon2.php exec s6-setuidgid www-data php -f /var/www/ttrss/update_daemon2.php
sleep 5m sleep 5m
done done

View File

@ -1,6 +1,3 @@
#!/bin/sh #!/usr/bin/with-contenv sh
while true; do
/srv/update-ttrss.sh
sleep 24h sleep 24h
done exec s6-setuidgid www-data /srv/update-ttrss.sh --wait-exit 24h

View File

@ -11,6 +11,9 @@ setup_nginx()
NGINX_CONF=/etc/nginx/nginx.conf NGINX_CONF=/etc/nginx/nginx.conf
if [ "$TTRSS_SSL_ENABLED" = "1" ]; then if [ "$TTRSS_SSL_ENABLED" = "1" ]; then
# Install OpenSSL.
apk update && apk add openssl
if [ ! -f "/etc/ssl/private/ttrss.key" ]; then if [ ! -f "/etc/ssl/private/ttrss.key" ]; then
echo "Setup: Generating self-signed certificate ..." echo "Setup: Generating self-signed certificate ..."
# Generate the TLS certificate for our Tiny Tiny RSS server instance. # Generate the TLS certificate for our Tiny Tiny RSS server instance.
@ -19,15 +22,23 @@ setup_nginx()
-keyout "/etc/ssl/private/ttrss.key" \ -keyout "/etc/ssl/private/ttrss.key" \
-out "/etc/ssl/certs/ttrss.crt" -out "/etc/ssl/certs/ttrss.crt"
fi fi
# Turn on SSL.
sed -i -e "s/listen\s*8080\s*;/listen 4443;/g" ${NGINX_CONF}
sed -i -e "s/ssl\s*off\s*;/ssl on;/g" ${NGINX_CONF}
sed -i -e "s/#ssl_/ssl_/g" ${NGINX_CONF}
# Set permissions.
chmod 600 "/etc/ssl/private/ttrss.key" chmod 600 "/etc/ssl/private/ttrss.key"
chmod 600 "/etc/ssl/certs/ttrss.crt" chmod 600 "/etc/ssl/certs/ttrss.crt"
else else
echo "Setup: !!! WARNING !!! Turning OFF SSL/TLS !!! WARNING !!!" echo "Setup: !!! WARNING !!! Turning OFF SSL/TLS !!! WARNING !!!"
echo "Setup: This is not recommended for a production server. You have been warned." echo "Setup: This is not recommended for a production server. You have been warned."
# Turn off SSL. # Turn off SSL.
sed -i -e "s/listen\s*4443\s*;/listen 8080;/g" ${NGINX_CONF} sed -i -e "s/listen\s*4443\s*;/listen 8080;/g" ${NGINX_CONF}
sed -i -e "s/ssl\s*on\s*;/ssl off;/g" ${NGINX_CONF} sed -i -e "s/ssl\s*on\s*;/ssl off;/g" ${NGINX_CONF}
sed -i -e "/\s*ssl_*/d" ${NGINX_CONF} sed -i -e "s/ssl_/#ssl_/g" ${NGINX_CONF}
fi fi
} }
@ -35,12 +46,14 @@ setup_ttrss()
{ {
TTRSS_PATH=/var/www/ttrss TTRSS_PATH=/var/www/ttrss
if [ ! -d ${TTRSS_PATH} ]; then
mkdir -p ${TTRSS_PATH} mkdir -p ${TTRSS_PATH}
git clone --depth=1 https://tt-rss.org/gitlab/fox/tt-rss.git ${TTRSS_PATH} git clone --depth=1 https://tt-rss.org/gitlab/fox/tt-rss.git ${TTRSS_PATH}
git clone --depth=1 https://github.com/sepich/tt-rss-mobilize.git ${TTRSS_PATH}/plugins/mobilize git clone --depth=1 https://github.com/sepich/tt-rss-mobilize.git ${TTRSS_PATH}/plugins/mobilize
git clone --depth=1 https://github.com/hrk/tt-rss-newsplus-plugin.git ${TTRSS_PATH}/plugins/api_newsplus git clone --depth=1 https://github.com/hrk/tt-rss-newsplus-plugin.git ${TTRSS_PATH}/plugins/api_newsplus
git clone --depth=1 https://github.com/m42e/ttrss_plugin-feediron.git ${TTRSS_PATH}/plugins/feediron git clone --depth=1 https://github.com/m42e/ttrss_plugin-feediron.git ${TTRSS_PATH}/plugins/feediron
git clone --depth=1 https://github.com/levito/tt-rss-feedly-theme.git ${TTRSS_PATH}/themes/feedly-git git clone --depth=1 https://github.com/levito/tt-rss-feedly-theme.git ${TTRSS_PATH}/themes/feedly-git
fi
# Add initial config. # Add initial config.
cp ${TTRSS_PATH}/config.php-dist ${TTRSS_PATH}/config.php cp ${TTRSS_PATH}/config.php-dist ${TTRSS_PATH}/config.php

View File

@ -2,8 +2,8 @@
set -e set -e
# Update configuration. This is necessary for entering the current IP + PORT of the database. # Call the setup script to make sure everything is ready to go.
/srv/update-ttrss.sh --no-start /srv/setup-ttrss.sh --no-start
# Call the image's init script which in turn calls the s6 supervisor then. # Call the image's init script which in turn calls the s6 supervisor then.
/init /init

View File

@ -77,7 +77,7 @@ update_plugin_feediron
update_theme_feedly update_theme_feedly
update_common update_common
echo "Update: Done." echo "Update: Done"
if [ "$1" != "--no-start" ]; then if [ "$1" != "--no-start" ]; then
echo "Update: Starting all ..." echo "Update: Starting all ..."