76 lines
2.6 KiB
Bash
Executable File
76 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
setup_nginx()
|
|
{
|
|
if [ -z "$TTRSS_HOST" ]; then
|
|
TTRSS_HOST=ttrss
|
|
fi
|
|
|
|
NGINX_CONF=/etc/nginx/nginx.conf
|
|
|
|
if [ "$TTRSS_SSL_ENABLED" = "1" ]; then
|
|
# Install OpenSSL.
|
|
apk update && apk add openssl
|
|
|
|
if [ ! -f "/etc/ssl/private/ttrss.key" ]; then
|
|
echo "Setup: Generating self-signed certificate ..."
|
|
# Generate the TLS certificate for our Tiny Tiny RSS server instance.
|
|
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
|
|
-subj "/C=US/ST=World/L=World/O=$TTRSS_HOST/CN=$TTRSS_HOST" \
|
|
-keyout "/etc/ssl/private/ttrss.key" \
|
|
-out "/etc/ssl/certs/ttrss.crt"
|
|
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/certs/ttrss.crt"
|
|
else
|
|
echo "Setup: !!! WARNING !!! Turning OFF SSL/TLS !!! WARNING !!!"
|
|
echo "Setup: This is not recommended for a production server. You have been warned."
|
|
|
|
# Turn off SSL.
|
|
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_/#ssl_/g" ${NGINX_CONF}
|
|
fi
|
|
}
|
|
|
|
setup_ttrss()
|
|
{
|
|
TTRSS_PATH=/var/www/ttrss
|
|
|
|
if [ ! -d ${TTRSS_PATH} ]; then
|
|
mkdir -p ${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/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/levito/tt-rss-feedly-theme.git ${TTRSS_PATH}/themes/feedly-git
|
|
fi
|
|
|
|
# Add initial config.
|
|
cp ${TTRSS_PATH}/config.php-dist ${TTRSS_PATH}/config.php
|
|
|
|
# Patch URL path.
|
|
sed -i -e 's@htt.*/@'"${SELF_URL_PATH-http://localhost/}"'@g' ${TTRSS_PATH}/config.php
|
|
|
|
# Enable additional system plugins: api_newsplus.
|
|
sed -i -e "s/.*define('PLUGINS'.*/define('PLUGINS', 'api_newsplus, auth_internal, note, updater');/g" ${TTRSS_PATH}/config.php
|
|
}
|
|
|
|
echo "Setup: Installing Tiny Tiny RSS ..."
|
|
setup_ttrss
|
|
setup_nginx
|
|
|
|
echo "Setup: Applying updates ..."
|
|
/srv/update-ttrss.sh --no-start
|
|
|
|
echo "Setup: Done"
|