prefix config.php-related environment variables with TTRSS_

pull/5/head
Andrew Dolgov 4 years ago
parent 9da8d37115
commit 0251f2bb69

@ -9,12 +9,12 @@ POSTGRES_PASSWORD=password
# You will likely need to set this to the correct value, see README.md
# for more information.
SELF_URL_PATH=http://localhost:8280/tt-rss
TTRSS_SELF_URL_PATH=http://localhost:8280/tt-rss
# You can customize other config.php defines by setting overrides here.
# See app/Dockerfile for complete list. Examples:
# PLUGINS=auth_remote
# SINGLE_USER_MODE=true
# TTRSS_PLUGINS=auth_remote
# TTRSS_SINGLE_USER_MODE=true
# bind exposed port to 127.0.0.1 by default in case reverse proxy is used.
# if you plan to run the container standalone and need origin port exposed

@ -15,9 +15,9 @@ services:
env_file:
- .env
environment:
- DB_NAME=${POSTGRES_USER}
- DB_USER=${POSTGRES_USER}
- DB_PASS=${POSTGRES_PASSWORD}
- TTRSS_DB_NAME=${POSTGRES_USER}
- TTRSS_DB_USER=${POSTGRES_USER}
- TTRSS_DB_PASS=${POSTGRES_PASSWORD}
volumes:
- app:/var/www/html
- ./config.d:/opt/tt-rss/config.d:ro
@ -28,9 +28,9 @@ services:
image: cthulhoo/ttrss-fpm-pgsql-static
restart: unless-stopped
environment:
- DB_NAME=${POSTGRES_USER}
- DB_USER=${POSTGRES_USER}
- DB_PASS=${POSTGRES_PASSWORD}
- TTRSS_DB_NAME=${POSTGRES_USER}
- TTRSS_DB_USER=${POSTGRES_USER}
- TTRSS_DB_PASS=${POSTGRES_PASSWORD}
volumes:
- backups:/backups
- app:/var/www/html
@ -44,9 +44,9 @@ services:
env_file:
- .env
environment:
- DB_NAME=${POSTGRES_USER}
- DB_USER=${POSTGRES_USER}
- DB_PASS=${POSTGRES_PASSWORD}
- TTRSS_DB_NAME=${POSTGRES_USER}
- TTRSS_DB_USER=${POSTGRES_USER}
- TTRSS_DB_PASS=${POSTGRES_PASSWORD}
volumes:
- app:/var/www/html
- ./config.d:/opt/tt-rss/config.d:ro

@ -28,37 +28,37 @@ RUN sh -c /build-prepare.sh
ENV OWNER_UID=1000
ENV OWNER_GID=1000
ENV DB_TYPE="pgsql"
ENV DB_HOST="db"
ENV DB_USER="%DB_USER"
ENV DB_NAME="%DB_NAME"
ENV DB_PASS="%DB_PASS"
ENV DB_PORT="5432"
ENV TTRSS_DB_TYPE="pgsql"
ENV TTRSS_DB_HOST="db"
ENV TTRSS_DB_USER="%DB_USER"
ENV TTRSS_DB_NAME="%DB_NAME"
ENV TTRSS_DB_PASS="%DB_PASS"
ENV TTRSS_DB_PORT="5432"
# config.php defaults
ENV MYSQL_CHARSET="UTF8"
ENV SELF_URL_PATH="%SELF_URL_PATH"
ENV SINGLE_USER_MODE=""
ENV SIMPLE_UPDATE_MODE=""
ENV PHP_EXECUTABLE="/usr/bin/php"
ENV LOCK_DIRECTORY="lock"
ENV CACHE_DIR="cache"
ENV ICONS_DIR="feed-icons"
ENV ICONS_URL="feed-icons"
ENV AUTH_AUTO_CREATE="true"
ENV AUTH_AUTO_LOGIN="true"
ENV FORCE_ARTICLE_PURGE="0"
ENV ENABLE_REGISTRATION=""
ENV REG_NOTIFY_ADDRESS="user@your.domain.dom"
ENV REG_MAX_USERS="10"
ENV SESSION_COOKIE_LIFETIME="86400"
ENV SMTP_FROM_NAME="Tiny Tiny RSS"
ENV SMTP_FROM_ADDRESS="noreply@your.domain.dom"
ENV DIGEST_SUBJECT="[tt-rss] New headlines for last 24 hours"
ENV CHECK_FOR_UPDATES="true"
ENV ENABLE_GZIP_OUTPUT=""
ENV PLUGINS="auth_internal, note"
ENV LOG_DESTINATION="sql"
ENV CONFIG_VERSION="26"
ENV TTRSS_MYSQL_CHARSET="UTF8"
ENV TTRSS_SELF_URL_PATH="%SELF_URL_PATH"
ENV TTRSS_SINGLE_USER_MODE=""
ENV TTRSS_SIMPLE_UPDATE_MODE=""
ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php"
ENV TTRSS_LOCK_DIRECTORY="lock"
ENV TTRSS_CACHE_DIR="cache"
ENV TTRSS_ICONS_DIR="feed-icons"
ENV TTRSS_ICONS_URL="feed-icons"
ENV TTRSS_AUTH_AUTO_CREATE="true"
ENV TTRSS_AUTH_AUTO_LOGIN="true"
ENV TTRSS_FORCE_ARTICLE_PURGE="0"
ENV TTRSS_ENABLE_REGISTRATION=""
ENV TTRSS_REG_NOTIFY_ADDRESS="user@your.domain.dom"
ENV TTRSS_REG_MAX_USERS="10"
ENV TTRSS_SESSION_COOKIE_LIFETIME="86400"
ENV TTRSS_SMTP_FROM_NAME="Tiny Tiny RSS"
ENV TTRSS_SMTP_FROM_ADDRESS="noreply@your.domain.dom"
ENV TTRSS_DIGEST_SUBJECT="[tt-rss] New headlines for last 24 hours"
ENV TTRSS_CHECK_FOR_UPDATES="true"
ENV TTRSS_ENABLE_GZIP_OUTPUT=""
ENV TTRSS_PLUGINS="auth_internal, note"
ENV TTRSS_LOG_DESTINATION="sql"
ENV TTRSS_CONFIG_VERSION="26"
CMD /startup.sh

@ -4,14 +4,14 @@ DST_DIR=/backups
KEEP_DAYS=28
APP_ROOT=/var/www/html/tt-rss
if pg_isready -h $DB_HOST -U $DB_USER; then
if pg_isready -h $TTRSS_DB_HOST -U $TTRSS_DB_USER; then
DST_FILE=ttrss-backup-$(date +%Y%m%d).sql.gz
echo backing up tt-rss database to $DST_DIR/$DST_FILE...
export PGPASSWORD=$DB_PASS
export PGPASSWORD=$TTRSS_DB_PASS
pg_dump --clean -h $DB_HOST -U $DB_USER $DB_NAME | gzip > $DST_DIR/$DST_FILE
pg_dump --clean -h $TTRSS_DB_HOST -U $TTRSS_DB_USER $TTRSS_DB_NAME | gzip > $DST_DIR/$DST_FILE
DST_FILE=ttrss-backup-$(date +%Y%m%d).tar.gz

@ -3,14 +3,14 @@
// *** Database configuration (important!) ***
// *******************************************
define('DB_TYPE', getenv('DB_TYPE')); // pgsql or mysql
define('DB_HOST', getenv('DB_HOST'));
define('DB_USER', getenv('DB_USER'));
define('DB_NAME', getenv('DB_NAME'));
define('DB_PASS', getenv('DB_PASS'));
define('DB_PORT', getenv('DB_PORT')); // usually 5432 for PostgreSQL, 3306 for MySQL
define('MYSQL_CHARSET', getenv('MYSQL_CHARSET'));
define('DB_TYPE', getenv('TTRSS_DB_TYPE')); // pgsql or mysql
define('DB_HOST', getenv('TTRSS_DB_HOST'));
define('DB_USER', getenv('TTRSS_DB_USER'));
define('DB_NAME', getenv('TTRSS_DB_NAME'));
define('DB_PASS', getenv('TTRSS_DB_PASS'));
define('DB_PORT', getenv('TTRSS_DB_PORT')); // usually 5432 for PostgreSQL, 3306 for MySQL
define('MYSQL_CHARSET', getenv('TTRSS_MYSQL_CHARSET'));
// Connection charset for MySQL. If you have a legacy database and/or experience
// garbage unicode characters with this option, try setting it to a blank string.
@ -18,7 +18,7 @@
// *** Basic settings (important!) ***
// ***********************************
define('SELF_URL_PATH', getenv('SELF_URL_PATH'));
define('SELF_URL_PATH', getenv('TTRSS_SELF_URL_PATH'));
// This should be set to a fully qualified URL used to access
// your tt-rss instance over the net, such as: https://example.org/tt-rss/
// The value should be a constant string literal. Please don't use
@ -26,12 +26,12 @@
// issues on your install and cause hard to debug problems.
// If your tt-rss instance is behind a reverse proxy, use the external URL.
define('SINGLE_USER_MODE', getenv('SINGLE_USER_MODE'));
define('SINGLE_USER_MODE', getenv('TTRSS_SINGLE_USER_MODE'));
// Operate in single user mode, disables all functionality related to
// multiple users and authentication. Enabling this assumes you have
// your tt-rss directory protected by other means (e.g. http auth).
define('SIMPLE_UPDATE_MODE', getenv('SIMPLE_UPDATE_MODE'));
define('SIMPLE_UPDATE_MODE', getenv('TTRSS_SIMPLE_UPDATE_MODE'));
// Enables fallback update mode where tt-rss tries to update feeds in
// background while tt-rss is open in your browser.
// If you don't have a lot of feeds and don't want to or can't run
@ -44,22 +44,22 @@
// *** Files and directories ***
// *****************************
define('PHP_EXECUTABLE', getenv('PHP_EXECUTABLE'));
define('PHP_EXECUTABLE', getenv('TTRSS_PHP_EXECUTABLE'));
// Path to PHP *COMMAND LINE* executable, used for various command-line tt-rss
// programs and update daemon. Do not try to use CGI binary here, it won't work.
// If you see HTTP headers being displayed while running tt-rss scripts,
// then most probably you are using the CGI binary. If you are unsure what to
// put in here, ask your hosting provider.
define('LOCK_DIRECTORY', getenv('LOCK_DIRECTORY'));
define('LOCK_DIRECTORY', getenv('TTRSS_LOCK_DIRECTORY'));
// Directory for lockfiles, must be writable to the user you run
// daemon process or cronjobs under.
define('CACHE_DIR', getenv('CACHE_DIR'));
define('CACHE_DIR', getenv('TTRSS_CACHE_DIR'));
// Local cache directory for RSS feed content.
define('ICONS_DIR', getenv('ICONS_DIR'));
define('ICONS_URL', getenv('ICONS_URL'));
define('ICONS_DIR', getenv('TTRSS_ICONS_DIR'));
define('ICONS_URL', getenv('TTRSS_ICONS_URL'));
// Local and URL path to the directory, where feed favicons are stored.
// Unless you really know what you're doing, please keep those relative
// to tt-rss main directory.
@ -70,11 +70,11 @@
// Please see PLUGINS below to configure various authentication modules.
define('AUTH_AUTO_CREATE', getenv('AUTH_AUTO_CREATE'));
define('AUTH_AUTO_CREATE', getenv('TTRSS_AUTH_AUTO_CREATE'));
// Allow authentication modules to auto-create users in tt-rss internal
// database when authenticated successfully.
define('AUTH_AUTO_LOGIN', getenv('AUTH_AUTO_LOGIN'));
define('AUTH_AUTO_LOGIN', getenv('TTRSS_AUTH_AUTO_LOGIN'));
// Automatically login user on remote or other kind of externally supplied
// authentication, otherwise redirect to login form as normal.
// If set to true, users won't be able to set application language
@ -84,7 +84,7 @@
// *** Feed settings ***
// *********************
define('FORCE_ARTICLE_PURGE', getenv('FORCE_ARTICLE_PURGE'));
define('FORCE_ARTICLE_PURGE', getenv('TTRSS_FORCE_ARTICLE_PURGE'));
// When this option is not 0, users ability to control feed purging
// intervals is disabled and all articles (which are not starred)
// older than this amount of days are purged.
@ -93,16 +93,16 @@
// *** Self-registrations by users ***
// ***********************************
define('ENABLE_REGISTRATION', getenv('ENABLE_REGISTRATION'));
define('ENABLE_REGISTRATION', getenv('TTRSS_ENABLE_REGISTRATION'));
// Allow users to register themselves. Please be aware that allowing
// random people to access your tt-rss installation is a security risk
// and potentially might lead to data loss or server exploit. Disabled
// by default.
define('REG_NOTIFY_ADDRESS', getenv('REG_NOTIFY_ADDRESS'));
define('REG_NOTIFY_ADDRESS', getenv('TTRSS_REG_NOTIFY_ADDRESS'));
// Email address to send new user notifications to.
define('REG_MAX_USERS', getenv('REG_MAX_USERS'));
define('REG_MAX_USERS', getenv('TTRSS_REG_MAX_USERS'));
// Maximum amount of users which will be allowed to register on this
// system. 0 - no limit.
@ -110,7 +110,7 @@
// *** Cookies and login sessions ***
// **********************************
define('SESSION_COOKIE_LIFETIME', getenv('SESSION_COOKIE_LIFETIME'));
define('SESSION_COOKIE_LIFETIME', getenv('TTRSS_SESSION_COOKIE_LIFETIME'));
// Default lifetime of a session (e.g. login) cookie. In seconds,
// 0 means cookie will be deleted when browser closes.
@ -124,29 +124,29 @@
// If you need SMTP support, take a look here:
// https://git.tt-rss.org/fox/ttrss-mailer-smtp
define('SMTP_FROM_NAME', getenv('SMTP_FROM_NAME'));
define('SMTP_FROM_ADDRESS', getenv('SMTP_FROM_ADDRESS'));
define('SMTP_FROM_NAME', getenv('TTRSS_SMTP_FROM_NAME'));
define('SMTP_FROM_ADDRESS', getenv('TTRSS_SMTP_FROM_ADDRESS'));
// Name, address and subject for sending outgoing mail. This applies
// to password reset notifications, digest emails and any other mail.
define('DIGEST_SUBJECT', getenv('DIGEST_SUBJECT'));
define('DIGEST_SUBJECT', getenv('TTRSS_DIGEST_SUBJECT'));
// Subject line for email digests
// ***************************************
// *** Other settings (less important) ***
// ***************************************
define('CHECK_FOR_UPDATES', getenv('CHECK_FOR_UPDATES'));
define('CHECK_FOR_UPDATES', getenv('TTRSS_CHECK_FOR_UPDATES'));
// Check for updates automatically if running Git version
define('ENABLE_GZIP_OUTPUT', getenv('ENABLE_GZIP_OUTPUT'));
define('ENABLE_GZIP_OUTPUT', getenv('TTRSS_ENABLE_GZIP_OUTPUT'));
// Selectively gzip output to improve wire performance. This requires
// PHP Zlib extension on the server.
// Enabling this can break tt-rss in several httpd/php configurations,
// if you experience weird errors and tt-rss failing to start, blank pages
// after login, or content encoding errors, disable it.
define('PLUGINS', getenv('PLUGINS'));
define('PLUGINS', getenv('TTRSS_PLUGINS'));
// Comma-separated list of plugins to load automatically for all users.
// System plugins have to be specified here. Please enable at least one
// authentication plugin here (auth_*).
@ -155,7 +155,7 @@
// Disabling auth_internal in this list would automatically disable
// reset password link on the login form.
define('LOG_DESTINATION', getenv('LOG_DESTINATION'));
define('LOG_DESTINATION', getenv('TTRSS_LOG_DESTINATION'));
// Error log destination to use. Possible values: sql (uses internal logging
// you can read in Preferences -> System), syslog - logs to system log.
// Setting this to blank uses PHP logging (usually to http server
@ -163,7 +163,7 @@
// Note that feed updating daemons don't use this logging facility
// for normal output.
define('CONFIG_VERSION', getenv('CONFIG_VERSION'));
define('CONFIG_VERSION', getenv('TTRSS_CONFIG_VERSION'));
// Expected config version. Please update this option in config.php
// if necessary (after migrating all new options from this file).

@ -1,6 +1,6 @@
#!/bin/sh
sed -e "s/define('\([A-Z_]\+\)', [^)]\+/define('\1', getenv('\1')/" \
sed -e "s/define('\([A-Z_]\+\)', [^)]\+/define('\1', getenv('TTRSS_\1')/" \
< config.php-dist > config.docker.php
cat config.php-config.d >> config.docker.php

@ -1,3 +1,4 @@
#!/bin/sh
grep define config.php-dist | sed -e "s/[ \t]*define('\([A-Z_]\+\)', ['\"]\?\([^'\")]\+\).*/ENV \1=\"\2\"/"
grep define config.php-dist | sed -e "s/[ \t]*define('\([A-Z_]\+\)', ['\"]\?\([^'\")]\+\).*/ENV TTRSS_\1=\"\2\"/" \
-e 's/"false"/""/'

@ -1,7 +1,7 @@
#!/bin/sh -e
while ! pg_isready -h $DB_HOST -U $DB_USER; do
echo waiting until $DB_HOST is ready...
while ! pg_isready -h $TTRSS_DB_HOST -U $TTRSS_DB_USER; do
echo waiting until $TTRSS_DB_HOST is ready...
sleep 3
done
@ -19,7 +19,7 @@ SRC_DIR=/src/tt-rss/
[ -e $DST_DIR ] && rm -f $DST_DIR/.app_is_ready
export PGPASSWORD=$DB_PASS
export PGPASSWORD=$TTRSS_DB_PASS
[ ! -e /var/www/html/index.php ] && cp /index.php /var/www/html
@ -53,7 +53,7 @@ for d in cache lock feed-icons; do
find $DST_DIR/$d -type f -exec chmod 666 {} \;
done
PSQL="psql -q -h $DB_HOST -U $DB_USER $DB_NAME"
PSQL="psql -q -h $TTRSS_DB_HOST -U $TTRSS_DB_USER $TTRSS_DB_NAME"
$PSQL -c "create extension if not exists pg_trgm"
@ -72,7 +72,7 @@ if [ ! -s $DST_DIR/config.php ]; then
define('NGINX_XACCEL_PREFIX', '/tt-rss');
EOF
else
egrep 'SELF_URL_PATH.*getenv' $DST_DIR/config.php || \
egrep -q 'SELF_URL_PATH.*getenv' $DST_DIR/config.php || \
echo -e "\nWARNING: you're using old-style config.php, overrides via .env will not work.\n" >/dev/stderr
fi

@ -12,8 +12,8 @@ if ! id app; then
adduser -D -h /var/www/html -G app -u $OWNER_UID app
fi
while ! pg_isready -h $DB_HOST -U $DB_USER; do
echo waiting until $DB_HOST is ready...
while ! pg_isready -h $TTRSS_DB_HOST -U $TTRSS_DB_USER; do
echo waiting until $TTRSS_DB_HOST is ready...
sleep 3
done

Loading…
Cancel
Save