mirror of
https://git.tt-rss.org/fox/ttrss-docker-compose
synced 2025-06-12 14:39:52 +02:00
initial for legacy-php5
This commit is contained in:
parent
2e13396bd7
commit
87b9df7bf7
6 changed files with 375 additions and 317 deletions
108
app/Dockerfile
108
app/Dockerfile
|
@ -1,12 +1,12 @@
|
|||
FROM alpine:3.13
|
||||
FROM alpine:3.5
|
||||
EXPOSE 9000/tcp
|
||||
|
||||
RUN apk add --no-cache dcron php8 php8-fpm \
|
||||
php8-pdo php8-gd php8-pgsql php8-pdo_pgsql php8-mbstring \
|
||||
php8-intl php8-xml php8-curl php8-session \
|
||||
php8-dom php8-fileinfo php8-json php8-iconv \
|
||||
php8-pcntl php8-posix php8-zip php8-openssl \
|
||||
git postgresql-client sudo
|
||||
RUN apk add --no-cache dcron php5 php5-fpm \
|
||||
php5-pdo php5-gd php5-pgsql php5-pdo_pgsql \
|
||||
php5-intl php5-xml php5-curl \
|
||||
php5-dom php5-json php5-iconv \
|
||||
php5-pcntl php5-posix php5-zip php5-openssl \
|
||||
git postgresql-client sudo php5-ctype
|
||||
|
||||
ENV SCRIPT_ROOT=/opt/tt-rss
|
||||
|
||||
|
@ -19,13 +19,21 @@ ADD dcron.sh ${SCRIPT_ROOT}
|
|||
ADD backup.sh /etc/periodic/weekly/backup
|
||||
ADD config.docker.php ${SCRIPT_ROOT}
|
||||
|
||||
RUN sed -i.bak 's/^listen = 127.0.0.1:9000/listen = 9000/' /etc/php8/php-fpm.d/www.conf
|
||||
RUN sed -i.bak 's/\(memory_limit =\) 128M/\1 256M/' /etc/php8/php.ini
|
||||
RUN sed -i.bak 's/;clear_env = .*/clear_env = no/i' /etc/php8/php-fpm.d/www.conf
|
||||
RUN sed -i.bak 's/^listen = 127.0.0.1:9000/listen = 9000/' /etc/php5/php-fpm.conf
|
||||
#RUN sed -i.bak 's/\(memory_limit =\) 128M/\1 256M/' /etc/php5/php.ini
|
||||
RUN sed -i.bak 's/;clear_env = .*/clear_env = no/i' /etc/php5/php-fpm.conf
|
||||
|
||||
ENV OWNER_UID=1000
|
||||
ENV OWNER_GID=1000
|
||||
|
||||
#commit b25df544b4d77a3deb43c9968797e5703e1e84f2 (HEAD)
|
||||
#Author: Andrew Dolgov <fox@bah.org.ru>
|
||||
#Date: Mon Sep 13 16:10:17 2010 +0400
|
||||
#
|
||||
# release 1.4.3.1
|
||||
|
||||
ENV TARGET_COMMIT="b25df544b4d77a3deb43c9968797e5703e1e84f2"
|
||||
|
||||
ENV TTRSS_DB_TYPE="pgsql"
|
||||
ENV TTRSS_DB_HOST="db"
|
||||
ENV TTRSS_DB_USER="%DB_USER"
|
||||
|
@ -34,29 +42,67 @@ ENV TTRSS_DB_PASS="%DB_PASS"
|
|||
ENV TTRSS_DB_PORT="5432"
|
||||
|
||||
# config.php defaults
|
||||
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/php8"
|
||||
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_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/php5"
|
||||
#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, nginx_xaccel"
|
||||
#ENV TTRSS_LOG_DESTINATION="sql"
|
||||
#ENV TTRSS_CONFIG_VERSION="26"
|
||||
|
||||
ENV TTRSS_MAGPIE_FETCH_TIME_OUT="60"
|
||||
ENV TTRSS_MAGPIE_CACHE_DIR="/var/tmp/magpie-ttrss-cache"
|
||||
ENV TTRSS_MAGPIE_CACHE_AGE="60*30"
|
||||
ENV TTRSS_ICONS_DIR="icons"
|
||||
ENV TTRSS_ICONS_URL="icons"
|
||||
ENV TTRSS_SINGLE_USER_MODE="true"
|
||||
ENV TTRSS_TMP_DIRECTORY="/tmp"
|
||||
ENV TTRSS_FEEDS_FRAME_REFRESH="600"
|
||||
ENV TTRSS_ENABLE_UPDATE_DAEMON="1"
|
||||
ENV TTRSS_DAEMON_SLEEP_INTERVAL="120"
|
||||
ENV TTRSS_DATABASE_BACKED_SESSIONS=""
|
||||
ENV TTRSS_SESSION_CHECK_ADDRESS="true"
|
||||
ENV TTRSS_SESSION_COOKIE_LIFETIME="0"
|
||||
ENV TTRSS_SESSION_EXPIRE_TIME="86400"
|
||||
ENV TTRSS_DAEMON_UPDATE_LOGIN_LIMIT="0"
|
||||
ENV TTRSS_CHECK_FOR_NEW_VERSION="true"
|
||||
ENV TTRSS_USE_CURL_FOR_ICONS=""
|
||||
ENV TTRSS_DIGEST_ENABLE="true"
|
||||
ENV TTRSS_DIGEST_EMAIL_LIMIT="10"
|
||||
ENV TTRSS_DAEMON_SENDS_DIGESTS="true"
|
||||
ENV TTRSS_ENABLE_TRANSLATIONS="true"
|
||||
ENV TTRSS_DEFAULT_UPDATE_METHOD="0"
|
||||
ENV TTRSS_SIMPLEPIE_CACHE_IMAGES=""
|
||||
ENV TTRSS_COUNTERS_MAX_AGE="365"
|
||||
ENV TTRSS_DIGEST_FROM_NAME="Tiny Tiny RSS"
|
||||
ENV TTRSS_DIGEST_FROM_ADDRESS="noreply@your.domain.dom"
|
||||
ENV TTRSS_DIGEST_SUBJECT="[tt-rss] New headlines for last 24 hours"
|
||||
ENV TTRSS_DAEMON_FEED_LIMIT="100"
|
||||
ENV TTRSS_ALLOW_REMOTE_USER_AUTH=""
|
||||
ENV TTRSS_LOCK_DIRECTORY="."
|
||||
ENV TTRSS_ENABLE_GZIP_OUTPUT=""
|
||||
ENV TTRSS_PHP_EXECUTABLE="/usr/bin/php"
|
||||
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, nginx_xaccel"
|
||||
ENV TTRSS_LOG_DESTINATION="sql"
|
||||
ENV TTRSS_CONFIG_VERSION="26"
|
||||
ENV TTRSS_FORCE_ARTICLE_PURGE="0"
|
||||
ENV TTRSS_CONFIG_VERSION="19"
|
||||
|
||||
CMD ${SCRIPT_ROOT}/startup.sh
|
||||
|
|
|
@ -1,62 +1,26 @@
|
|||
<?php
|
||||
// *******************************************
|
||||
// *** Database configuration (important!) ***
|
||||
// *******************************************
|
||||
// Your RDBMS must be configured to accept connections
|
||||
// via TCP/IP and authentified by password.
|
||||
|
||||
define('DB_TYPE', getenv('TTRSS_DB_TYPE')); // pgsql or mysql
|
||||
define('DB_TYPE', getenv('TTRSS_DB_TYPE')); // 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('DB_PORT', getenv('TTRSS_DB_PORT')); // when neeeded, PG-only
|
||||
|
||||
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.
|
||||
define('MAGPIE_FETCH_TIME_OUT', getenv('TTRSS_MAGPIE_FETCH_TIME_OUT'));
|
||||
// Magpie's default timeout is 5 seconds. Some RSS feeds,
|
||||
// such as from large Trac installs, can take significantly
|
||||
// longer than 5 seconds to generate. To prevent failed
|
||||
// updates, increase this.
|
||||
|
||||
// ***********************************
|
||||
// *** Basic settings (important!) ***
|
||||
// ***********************************
|
||||
define('MAGPIE_CACHE_DIR', getenv('TTRSS_MAGPIE_CACHE_DIR'));
|
||||
// Local cache directory for RSS feeds
|
||||
|
||||
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
|
||||
// PHP server variables here - you might introduce security
|
||||
// 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('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('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
|
||||
// background processes while not running tt-rss, this method is generally
|
||||
// viable to keep your feeds up to date.
|
||||
// Still, there are more robust (and recommended) updating methods
|
||||
// available, you can read about them here: https://tt-rss.org/wiki/UpdatingFeeds
|
||||
|
||||
// *****************************
|
||||
// *** Files and directories ***
|
||||
// *****************************
|
||||
|
||||
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('TTRSS_LOCK_DIRECTORY'));
|
||||
// Directory for lockfiles, must be writable to the user you run
|
||||
// daemon process or cronjobs under.
|
||||
|
||||
define('CACHE_DIR', getenv('TTRSS_CACHE_DIR'));
|
||||
// Local cache directory for RSS feed content.
|
||||
define('MAGPIE_CACHE_AGE', getenv('TTRSS_MAGPIE_CACHE_AGE'));
|
||||
// How long to store cached RSS objects? In seconds.
|
||||
// Defaults to 30 minutes
|
||||
|
||||
define('ICONS_DIR', getenv('TTRSS_ICONS_DIR'));
|
||||
define('ICONS_URL', getenv('TTRSS_ICONS_URL'));
|
||||
|
@ -64,37 +28,125 @@
|
|||
// Unless you really know what you're doing, please keep those relative
|
||||
// to tt-rss main directory.
|
||||
|
||||
// **********************
|
||||
// *** Authentication ***
|
||||
// **********************
|
||||
define('SINGLE_USER_MODE', getenv('TTRSS_SINGLE_USER_MODE'));
|
||||
// Operate in single user mode, disables all functionality related to
|
||||
// multiple users.
|
||||
|
||||
define('TMP_DIRECTORY', getenv('TTRSS_TMP_DIRECTORY'));
|
||||
// Directory for temporary files
|
||||
|
||||
// Please see PLUGINS below to configure various authentication modules.
|
||||
define('FEEDS_FRAME_REFRESH', getenv('TTRSS_FEEDS_FRAME_REFRESH'));
|
||||
// Auto refresh interval for feeds frame (in seconds)
|
||||
|
||||
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('ENABLE_UPDATE_DAEMON', getenv('TTRSS_ENABLE_UPDATE_DAEMON'));
|
||||
// This enables different mechanism for user-triggered updates designed
|
||||
// for update daemon running in background on the server.
|
||||
// This option suggests FEEDS_FRAME_REFRESH set to a small value
|
||||
// (like 60 seconds, depending on number of users and server/bandwidth load).
|
||||
|
||||
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
|
||||
// and settings profile.
|
||||
define('DAEMON_SLEEP_INTERVAL', getenv('TTRSS_DAEMON_SLEEP_INTERVAL'));
|
||||
// Interval between update daemon update runs
|
||||
|
||||
// *********************
|
||||
// *** Feed settings ***
|
||||
// *********************
|
||||
define('DATABASE_BACKED_SESSIONS', getenv('TTRSS_DATABASE_BACKED_SESSIONS'));
|
||||
// Store session information in a database, recommended for multiuser
|
||||
// configurations. Doesn't seem to work for everyone, so enable with caution.
|
||||
// tt-rss uses default PHP session storing mechanism if disabled.
|
||||
|
||||
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.
|
||||
define('SESSION_CHECK_ADDRESS', getenv('TTRSS_SESSION_CHECK_ADDRESS'));
|
||||
// Bind session to client IP address (recommended)
|
||||
|
||||
// ***********************************
|
||||
// *** Self-registrations by users ***
|
||||
// ***********************************
|
||||
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.
|
||||
|
||||
define('SESSION_EXPIRE_TIME', getenv('TTRSS_SESSION_EXPIRE_TIME'));
|
||||
// Hard expiration limit for sessions. Should be
|
||||
// greater or equal to SESSION_COOKIE_LIFETIME
|
||||
|
||||
define('DAEMON_UPDATE_LOGIN_LIMIT', getenv('TTRSS_DAEMON_UPDATE_LOGIN_LIMIT'));
|
||||
// Stop updating feeds of user who haven't logged in specified
|
||||
// amount of days. 0 disables.
|
||||
|
||||
define('CHECK_FOR_NEW_VERSION', getenv('TTRSS_CHECK_FOR_NEW_VERSION'));
|
||||
// Check for new versions of tt-rss automatically.
|
||||
|
||||
define('USE_CURL_FOR_ICONS', getenv('TTRSS_USE_CURL_FOR_ICONS'));
|
||||
// Fetch favicons using CURL, useful if your PHP has disabled remote fopen()
|
||||
|
||||
define('DIGEST_ENABLE', getenv('TTRSS_DIGEST_ENABLE'));
|
||||
// Global option to enable daily digests
|
||||
|
||||
define('DIGEST_EMAIL_LIMIT', getenv('TTRSS_DIGEST_EMAIL_LIMIT'));
|
||||
// The maximum amount of emails sent in one digest batch
|
||||
|
||||
define('DAEMON_SENDS_DIGESTS', getenv('TTRSS_DAEMON_SENDS_DIGESTS'));
|
||||
// If update daemon and update_feeds should send digests
|
||||
// Disable if you prefer querying special URL (see wiki)
|
||||
|
||||
define('ENABLE_TRANSLATIONS', getenv('TTRSS_ENABLE_TRANSLATIONS'));
|
||||
// Enable support for interface translations
|
||||
|
||||
define('MYSQL_CHARSET', getenv('TTRSS_MYSQL_CHARSET'));
|
||||
// Connection charset for MySQL. Only enable if having charset-related
|
||||
// errors with MySQL (mangled characters, errors when updating feeds, etc).
|
||||
|
||||
define('DEFAULT_UPDATE_METHOD', getenv('TTRSS_DEFAULT_UPDATE_METHOD'));
|
||||
// Which feed parsing library to use as default:
|
||||
// 0 - Magpie
|
||||
// 1 - SimplePie
|
||||
|
||||
define('SIMPLEPIE_CACHE_DIR', '/var/tmp/simplepie-ttrss-cache');
|
||||
// Cache directory for RSS feeds when using SimplePie
|
||||
|
||||
define('SIMPLEPIE_CACHE_IMAGES', getenv('TTRSS_SIMPLEPIE_CACHE_IMAGES'));
|
||||
// Allow caching feed images when using SimplePie, to bypass hotlink
|
||||
// prevention and such at expense of local disk space and bandwidth.
|
||||
// Note that you (or your users) also have to enable image caching
|
||||
// in feed editor.
|
||||
|
||||
define('COUNTERS_MAX_AGE', getenv('TTRSS_COUNTERS_MAX_AGE'));
|
||||
// Hard limit for unread counters calculation. Try tweaking this
|
||||
// parameter to speed up tt-rss when having a huge number of articles
|
||||
// in the database (better yet, enable purging!)
|
||||
|
||||
define('DIGEST_FROM_NAME', getenv('TTRSS_DIGEST_FROM_NAME'));
|
||||
define('DIGEST_FROM_ADDRESS', getenv('TTRSS_DIGEST_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('TTRSS_DIGEST_SUBJECT'));
|
||||
// Subject line for email digests
|
||||
|
||||
define('DIGEST_SMTP_HOST', getenv('TTRSS_DIGEST_SMTP_HOST'));
|
||||
// SMTP Host to send outgoing mail. Blank - use system MTA.
|
||||
|
||||
define('DIGEST_SMTP_LOGIN', getenv('TTRSS_DIGEST_SMTP_LOGIN'));
|
||||
define('DIGEST_SMTP_PASSWORD', getenv('TTRSS_DIGEST_SMTP_PASSWORD'));
|
||||
// These two options enable SMTP authentication when sending
|
||||
// outgoing mail. Require DIGEST_SMTP_HOST.
|
||||
|
||||
define('DAEMON_FEED_LIMIT', getenv('TTRSS_DAEMON_FEED_LIMIT'));
|
||||
// Limits the amount of feeds daemon (or a cronjob) updates on one run
|
||||
|
||||
define('ALLOW_REMOTE_USER_AUTH', getenv('TTRSS_ALLOW_REMOTE_USER_AUTH'));
|
||||
// Set to 'true' if you trust your web server's REMOTE_USER
|
||||
// environment variable to validate that the user is logged in. This
|
||||
// option can be used to integrate tt-rss with Apache's external
|
||||
// authentication modules.
|
||||
|
||||
define('LOCK_DIRECTORY', getenv('TTRSS_LOCK_DIRECTORY'));
|
||||
// Directory for lockfiles, must be writable to the user you run
|
||||
// daemon process or cronjobs under.
|
||||
|
||||
define('ENABLE_GZIP_OUTPUT', getenv('TTRSS_ENABLE_GZIP_OUTPUT'));
|
||||
// Selectively gzip output to improve wire performance. This requires
|
||||
// PHP Zlib extension on the server.
|
||||
|
||||
define('PHP_EXECUTABLE', getenv('TTRSS_PHP_EXECUTABLE'));
|
||||
// Path to PHP executable
|
||||
|
||||
define('ENABLE_REGISTRATION', getenv('TTRSS_ENABLE_REGISTRATION'));
|
||||
// Allow users to register themselves. Please be aware that allowing
|
||||
// Allow users to register themselves. Please be vary 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.
|
||||
|
@ -106,62 +158,14 @@
|
|||
// Maximum amount of users which will be allowed to register on this
|
||||
// system. 0 - no limit.
|
||||
|
||||
// **********************************
|
||||
// *** Cookies and login sessions ***
|
||||
// **********************************
|
||||
define('FEEDBACK_URL', getenv('TTRSS_FEEDBACK_URL'));
|
||||
// Displays an URL for users to provide feedback or comments regarding
|
||||
// this instance of tt-rss. Can lead to a forum, contact email, etc.
|
||||
|
||||
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.
|
||||
|
||||
// *********************************
|
||||
// *** Email and digest settings ***
|
||||
// *********************************
|
||||
|
||||
// Tiny Tiny RSS sends mail via PHP mail() function, unless handled
|
||||
// by a plugin.
|
||||
|
||||
// If you need SMTP support, take a look here:
|
||||
// https://git.tt-rss.org/fox/ttrss-mailer-smtp
|
||||
|
||||
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('TTRSS_DIGEST_SUBJECT'));
|
||||
// Subject line for email digests
|
||||
|
||||
// ***************************************
|
||||
// *** Other settings (less important) ***
|
||||
// ***************************************
|
||||
|
||||
define('CHECK_FOR_UPDATES', getenv('TTRSS_CHECK_FOR_UPDATES'));
|
||||
// Check for updates automatically if running Git version
|
||||
|
||||
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('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_*).
|
||||
// Users may enable other user plugins from Preferences/Plugins but may not
|
||||
// disable plugins specified in this list.
|
||||
// Disabling auth_internal in this list would automatically disable
|
||||
// reset password link on the login form.
|
||||
|
||||
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
|
||||
// error.log).
|
||||
// Note that feed updating daemons don't use this logging facility
|
||||
// for normal output.
|
||||
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.
|
||||
|
||||
define('CONFIG_VERSION', getenv('TTRSS_CONFIG_VERSION'));
|
||||
// Expected config version. Please update this option in config.php
|
||||
|
|
|
@ -1,100 +1,152 @@
|
|||
<?php
|
||||
// *******************************************
|
||||
// *** Database configuration (important!) ***
|
||||
// *******************************************
|
||||
// Your RDBMS must be configured to accept connections
|
||||
// via TCP/IP and authentified by password.
|
||||
|
||||
define('DB_TYPE', '%DB_TYPE'); // pgsql or mysql
|
||||
define('DB_HOST', '%DB_HOST');
|
||||
define('DB_USER', '%DB_USER');
|
||||
define('DB_NAME', '%DB_NAME');
|
||||
define('DB_PASS', '%DB_PASS');
|
||||
define('DB_PORT', '%DB_PORT'); // usually 5432 for PostgreSQL, 3306 for MySQL
|
||||
define('DB_TYPE', "pgsql"); // or mysql
|
||||
define('DB_HOST', "localhost");
|
||||
define('DB_USER', "fox");
|
||||
define('DB_NAME', "fox");
|
||||
define('DB_PASS', "XXXXXX");
|
||||
//define('DB_PORT', '5432'); // when neeeded, PG-only
|
||||
|
||||
define('MYSQL_CHARSET', 'UTF8');
|
||||
// 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.
|
||||
define('MAGPIE_FETCH_TIME_OUT', 60);
|
||||
// Magpie's default timeout is 5 seconds. Some RSS feeds,
|
||||
// such as from large Trac installs, can take significantly
|
||||
// longer than 5 seconds to generate. To prevent failed
|
||||
// updates, increase this.
|
||||
|
||||
// ***********************************
|
||||
// *** Basic settings (important!) ***
|
||||
// ***********************************
|
||||
define('MAGPIE_CACHE_DIR', '/var/tmp/magpie-ttrss-cache');
|
||||
// Local cache directory for RSS feeds
|
||||
|
||||
define('SELF_URL_PATH', '%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
|
||||
// PHP server variables here - you might introduce security
|
||||
// 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('MAGPIE_CACHE_AGE', 60*30);
|
||||
// How long to store cached RSS objects? In seconds.
|
||||
// Defaults to 30 minutes
|
||||
|
||||
define('SINGLE_USER_MODE', false);
|
||||
// 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', false);
|
||||
// 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
|
||||
// background processes while not running tt-rss, this method is generally
|
||||
// viable to keep your feeds up to date.
|
||||
// Still, there are more robust (and recommended) updating methods
|
||||
// available, you can read about them here: https://tt-rss.org/wiki/UpdatingFeeds
|
||||
|
||||
// *****************************
|
||||
// *** Files and directories ***
|
||||
// *****************************
|
||||
|
||||
define('PHP_EXECUTABLE', '/usr/bin/php');
|
||||
// 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', 'lock');
|
||||
// Directory for lockfiles, must be writable to the user you run
|
||||
// daemon process or cronjobs under.
|
||||
|
||||
define('CACHE_DIR', 'cache');
|
||||
// Local cache directory for RSS feed content.
|
||||
|
||||
define('ICONS_DIR', "feed-icons");
|
||||
define('ICONS_URL', "feed-icons");
|
||||
define('ICONS_DIR', "icons");
|
||||
define('ICONS_URL', "icons");
|
||||
// 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.
|
||||
|
||||
// **********************
|
||||
// *** Authentication ***
|
||||
// **********************
|
||||
define('SINGLE_USER_MODE', true);
|
||||
// Operate in single user mode, disables all functionality related to
|
||||
// multiple users.
|
||||
|
||||
define('TMP_DIRECTORY', '/tmp');
|
||||
// Directory for temporary files
|
||||
|
||||
// Please see PLUGINS below to configure various authentication modules.
|
||||
define('FEEDS_FRAME_REFRESH', 600);
|
||||
// Auto refresh interval for feeds frame (in seconds)
|
||||
|
||||
define('AUTH_AUTO_CREATE', true);
|
||||
// Allow authentication modules to auto-create users in tt-rss internal
|
||||
// database when authenticated successfully.
|
||||
define('ENABLE_UPDATE_DAEMON', false);
|
||||
// This enables different mechanism for user-triggered updates designed
|
||||
// for update daemon running in background on the server.
|
||||
// This option suggests FEEDS_FRAME_REFRESH set to a small value
|
||||
// (like 60 seconds, depending on number of users and server/bandwidth load).
|
||||
|
||||
define('AUTH_AUTO_LOGIN', true);
|
||||
// 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
|
||||
// and settings profile.
|
||||
define('DAEMON_SLEEP_INTERVAL', 120);
|
||||
// Interval between update daemon update runs
|
||||
|
||||
// *********************
|
||||
// *** Feed settings ***
|
||||
// *********************
|
||||
define('DATABASE_BACKED_SESSIONS', false);
|
||||
// Store session information in a database, recommended for multiuser
|
||||
// configurations. Doesn't seem to work for everyone, so enable with caution.
|
||||
// tt-rss uses default PHP session storing mechanism if disabled.
|
||||
|
||||
define('FORCE_ARTICLE_PURGE', 0);
|
||||
// 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.
|
||||
define('SESSION_CHECK_ADDRESS', true);
|
||||
// Bind session to client IP address (recommended)
|
||||
|
||||
// ***********************************
|
||||
// *** Self-registrations by users ***
|
||||
// ***********************************
|
||||
define('SESSION_COOKIE_LIFETIME', 0);
|
||||
// Default lifetime of a session (e.g. login) cookie. In seconds,
|
||||
// 0 means cookie will be deleted when browser closes.
|
||||
|
||||
define('SESSION_EXPIRE_TIME', 86400);
|
||||
// Hard expiration limit for sessions. Should be
|
||||
// greater or equal to SESSION_COOKIE_LIFETIME
|
||||
|
||||
define('DAEMON_UPDATE_LOGIN_LIMIT', 0);
|
||||
// Stop updating feeds of user who haven't logged in specified
|
||||
// amount of days. 0 disables.
|
||||
|
||||
define('CHECK_FOR_NEW_VERSION', true);
|
||||
// Check for new versions of tt-rss automatically.
|
||||
|
||||
define('USE_CURL_FOR_ICONS', false);
|
||||
// Fetch favicons using CURL, useful if your PHP has disabled remote fopen()
|
||||
|
||||
define('DIGEST_ENABLE', true);
|
||||
// Global option to enable daily digests
|
||||
|
||||
define('DIGEST_EMAIL_LIMIT', 10);
|
||||
// The maximum amount of emails sent in one digest batch
|
||||
|
||||
define('DAEMON_SENDS_DIGESTS', true);
|
||||
// If update daemon and update_feeds should send digests
|
||||
// Disable if you prefer querying special URL (see wiki)
|
||||
|
||||
define('ENABLE_TRANSLATIONS', true);
|
||||
// Enable support for interface translations
|
||||
|
||||
define('MYSQL_CHARSET', '');
|
||||
// Connection charset for MySQL. Only enable if having charset-related
|
||||
// errors with MySQL (mangled characters, errors when updating feeds, etc).
|
||||
|
||||
define('DEFAULT_UPDATE_METHOD', 0);
|
||||
// Which feed parsing library to use as default:
|
||||
// 0 - Magpie
|
||||
// 1 - SimplePie
|
||||
|
||||
define('SIMPLEPIE_CACHE_DIR', '/var/tmp/simplepie-ttrss-cache');
|
||||
// Cache directory for RSS feeds when using SimplePie
|
||||
|
||||
define('SIMPLEPIE_CACHE_IMAGES', false);
|
||||
// Allow caching feed images when using SimplePie, to bypass hotlink
|
||||
// prevention and such at expense of local disk space and bandwidth.
|
||||
// Note that you (or your users) also have to enable image caching
|
||||
// in feed editor.
|
||||
|
||||
define('COUNTERS_MAX_AGE', 365);
|
||||
// Hard limit for unread counters calculation. Try tweaking this
|
||||
// parameter to speed up tt-rss when having a huge number of articles
|
||||
// in the database (better yet, enable purging!)
|
||||
|
||||
define('DIGEST_FROM_NAME', 'Tiny Tiny RSS');
|
||||
define('DIGEST_FROM_ADDRESS', 'noreply@your.domain.dom');
|
||||
// Name, address and subject for sending outgoing mail. This applies
|
||||
// to password reset notifications, digest emails and any other mail.
|
||||
|
||||
define('DIGEST_SUBJECT', '[tt-rss] New headlines for last 24 hours');
|
||||
// Subject line for email digests
|
||||
|
||||
define('DIGEST_SMTP_HOST', '');
|
||||
// SMTP Host to send outgoing mail. Blank - use system MTA.
|
||||
|
||||
define('DIGEST_SMTP_LOGIN', '');
|
||||
define('DIGEST_SMTP_PASSWORD', '');
|
||||
// These two options enable SMTP authentication when sending
|
||||
// outgoing mail. Require DIGEST_SMTP_HOST.
|
||||
|
||||
define('DAEMON_FEED_LIMIT', 100);
|
||||
// Limits the amount of feeds daemon (or a cronjob) updates on one run
|
||||
|
||||
define('ALLOW_REMOTE_USER_AUTH', false);
|
||||
// Set to 'true' if you trust your web server's REMOTE_USER
|
||||
// environment variable to validate that the user is logged in. This
|
||||
// option can be used to integrate tt-rss with Apache's external
|
||||
// authentication modules.
|
||||
|
||||
define('LOCK_DIRECTORY', '.');
|
||||
// Directory for lockfiles, must be writable to the user you run
|
||||
// daemon process or cronjobs under.
|
||||
|
||||
define('ENABLE_GZIP_OUTPUT', false);
|
||||
// Selectively gzip output to improve wire performance. This requires
|
||||
// PHP Zlib extension on the server.
|
||||
|
||||
define('PHP_EXECUTABLE', '/usr/bin/php');
|
||||
// Path to PHP executable
|
||||
|
||||
define('ENABLE_REGISTRATION', false);
|
||||
// Allow users to register themselves. Please be aware that allowing
|
||||
// Allow users to register themselves. Please be vary 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.
|
||||
|
@ -106,64 +158,16 @@
|
|||
// Maximum amount of users which will be allowed to register on this
|
||||
// system. 0 - no limit.
|
||||
|
||||
// **********************************
|
||||
// *** Cookies and login sessions ***
|
||||
// **********************************
|
||||
define('FEEDBACK_URL', '');
|
||||
// Displays an URL for users to provide feedback or comments regarding
|
||||
// this instance of tt-rss. Can lead to a forum, contact email, etc.
|
||||
|
||||
define('SESSION_COOKIE_LIFETIME', 86400);
|
||||
// Default lifetime of a session (e.g. login) cookie. In seconds,
|
||||
// 0 means cookie will be deleted when browser closes.
|
||||
define('FORCE_ARTICLE_PURGE', 0);
|
||||
// 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.
|
||||
|
||||
// *********************************
|
||||
// *** Email and digest settings ***
|
||||
// *********************************
|
||||
|
||||
// Tiny Tiny RSS sends mail via PHP mail() function, unless handled
|
||||
// by a plugin.
|
||||
|
||||
// If you need SMTP support, take a look here:
|
||||
// https://git.tt-rss.org/fox/ttrss-mailer-smtp
|
||||
|
||||
define('SMTP_FROM_NAME', 'Tiny Tiny RSS');
|
||||
define('SMTP_FROM_ADDRESS', 'noreply@your.domain.dom');
|
||||
// Name, address and subject for sending outgoing mail. This applies
|
||||
// to password reset notifications, digest emails and any other mail.
|
||||
|
||||
define('DIGEST_SUBJECT', '[tt-rss] New headlines for last 24 hours');
|
||||
// Subject line for email digests
|
||||
|
||||
// ***************************************
|
||||
// *** Other settings (less important) ***
|
||||
// ***************************************
|
||||
|
||||
define('CHECK_FOR_UPDATES', true);
|
||||
// Check for updates automatically if running Git version
|
||||
|
||||
define('ENABLE_GZIP_OUTPUT', false);
|
||||
// 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', 'auth_internal, note');
|
||||
// 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_*).
|
||||
// Users may enable other user plugins from Preferences/Plugins but may not
|
||||
// disable plugins specified in this list.
|
||||
// Disabling auth_internal in this list would automatically disable
|
||||
// reset password link on the login form.
|
||||
|
||||
define('LOG_DESTINATION', 'sql');
|
||||
// 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
|
||||
// error.log).
|
||||
// Note that feed updating daemons don't use this logging facility
|
||||
// for normal output.
|
||||
|
||||
define('CONFIG_VERSION', 26);
|
||||
define('CONFIG_VERSION', 19);
|
||||
// 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 -e
|
||||
|
||||
while ! pg_isready -h $TTRSS_DB_HOST -U $TTRSS_DB_USER; do
|
||||
while ! PGPASSWORD=$TTRSS_DB_PASS psql -h $TTRSS_DB_HOST -U $TTRSS_DB_USER $TTRSS_DB_NAME -c 'select true'; do
|
||||
echo waiting until $TTRSS_DB_HOST is ready...
|
||||
sleep 3
|
||||
done
|
||||
|
@ -29,12 +29,13 @@ if [ ! -d $DST_DIR/.git ]; then
|
|||
mkdir -p $DST_DIR
|
||||
echo cloning tt-rss source from $SRC_REPO to $DST_DIR...
|
||||
git clone $SRC_REPO $DST_DIR || echo error: failed to clone master repository.
|
||||
git checkout $TARGET_COMMIT || echo error: unable to checkout ${TARGET_COMMIT}.
|
||||
else
|
||||
echo updating tt-rss source in $DST_DIR from $SRC_REPO...
|
||||
cd $DST_DIR && \
|
||||
git config core.filemode false && \
|
||||
git config pull.rebase false && \
|
||||
git pull origin master || echo error: unable to update master repository.
|
||||
git checkout $TARGET_COMMIT || echo error: unable to checkout ${TARGET_COMMIT}.
|
||||
fi
|
||||
|
||||
if [ ! -e $DST_DIR/index.php ]; then
|
||||
|
@ -55,9 +56,10 @@ else
|
|||
fi
|
||||
|
||||
chown -R $OWNER_UID:$OWNER_GID $DST_DIR \
|
||||
/var/log/php8
|
||||
/var/log/
|
||||
|
||||
for d in cache lock feed-icons; do
|
||||
for d in lock icons; do
|
||||
mkdir -p $DST_DIR/$d
|
||||
chmod 777 $DST_DIR/$d
|
||||
find $DST_DIR/$d -type f -exec chmod 666 {} \;
|
||||
done
|
||||
|
@ -69,7 +71,7 @@ RESTORE_SCHEMA=${SCRIPT_ROOT}/restore-schema.sql.gz
|
|||
if [ -r $RESTORE_SCHEMA ]; then
|
||||
zcat $RESTORE_SCHEMA | $PSQL
|
||||
elif ! $PSQL -c 'select * from ttrss_version'; then
|
||||
$PSQL < /var/www/html/tt-rss/schema/ttrss_schema_pgsql.sql
|
||||
cat /var/www/html/tt-rss/schema/ttrss_schema_pgsql.sql | sed 's/tt-rss.spb.ru/tt-rss.org/g' | $PSQL
|
||||
fi
|
||||
|
||||
if [ ! -s $DST_DIR/config.php ]; then
|
||||
|
@ -85,9 +87,9 @@ fi
|
|||
# this was previously generated
|
||||
rm -f $DST_DIR/config.php.bak
|
||||
|
||||
cd $DST_DIR && sudo -E -u app php8 ./update.php --update-schema=force-yes
|
||||
cd $DST_DIR && sudo -E -u app php ./update.php --update-schema=force-yes
|
||||
|
||||
touch $DST_DIR/.app_is_ready
|
||||
|
||||
sudo -E -u app /usr/sbin/php-fpm8 -F
|
||||
sudo -E -u app /usr/bin/php-fpm -F
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ if ! id app; then
|
|||
adduser -D -h /var/www/html -G app -u $OWNER_UID app
|
||||
fi
|
||||
|
||||
while ! pg_isready -h $TTRSS_DB_HOST -U $TTRSS_DB_USER; do
|
||||
while ! PGPASSWORD=$TTRSS_DB_PASS psql -h $TTRSS_DB_HOST -U $TTRSS_DB_USER $TTRSS_DB_NAME -c 'select true'; do
|
||||
echo waiting until $TTRSS_DB_HOST is ready...
|
||||
sleep 3
|
||||
done
|
||||
|
@ -24,4 +24,6 @@ while [ ! -s $DST_DIR/config.php -a -e $DST_DIR/.app_is_ready ]; do
|
|||
sleep 3
|
||||
done
|
||||
|
||||
sudo -E -u app /usr/bin/php8 /var/www/html/tt-rss/update_daemon2.php
|
||||
cd $DST_DIR
|
||||
|
||||
sudo -E -u app /usr/bin/php /var/www/html/tt-rss/update_daemon2.php
|
||||
|
|
|
@ -2,7 +2,7 @@ version: '3'
|
|||
|
||||
services:
|
||||
db:
|
||||
image: postgres:12-alpine
|
||||
image: postgres:9
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=${TTRSS_DB_USER}
|
||||
|
@ -24,19 +24,19 @@ services:
|
|||
depends_on:
|
||||
- db
|
||||
|
||||
backups:
|
||||
build:
|
||||
context:
|
||||
./app
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- backups:/backups
|
||||
- app:/var/www/html
|
||||
depends_on:
|
||||
- db
|
||||
command: /opt/tt-rss/dcron.sh -f
|
||||
# backups:
|
||||
# build:
|
||||
# context:
|
||||
# ./app
|
||||
# restart: unless-stopped
|
||||
# env_file:
|
||||
# - .env
|
||||
# volumes:
|
||||
# - backups:/backups
|
||||
# - app:/var/www/html
|
||||
# depends_on:
|
||||
# - db
|
||||
# command: /opt/tt-rss/dcron.sh -f
|
||||
|
||||
updater:
|
||||
build:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue