Compare commits
10 Commits
5a7a39eeb8
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ee1b1c134 | |||
|
|
ddf6feae45 | ||
|
|
a53e8b019d | ||
|
|
4ba71cdbcb | ||
|
|
d9979e0762 | ||
| 8af50b0642 | |||
| 2f44b374eb | |||
| 37476dc557 | |||
| 06baa58868 | |||
|
|
94ab70f7c1 |
@@ -1,4 +1,4 @@
|
||||
FROM nginx:1.17.8-alpine
|
||||
FROM nginx:1.21.1-alpine
|
||||
|
||||
RUN \
|
||||
apk add --no-cache \
|
||||
@@ -21,6 +21,7 @@ RUN \
|
||||
php7-mbstring \
|
||||
php7-json \
|
||||
php7-fileinfo \
|
||||
php7-pcntl \
|
||||
git \
|
||||
tar
|
||||
|
||||
@@ -29,7 +30,8 @@ EXPOSE 80 443
|
||||
RUN \
|
||||
git clone https://git.tt-rss.org/fox/tt-rss.git /var/lib/tt-rss && \
|
||||
cd /var/lib/tt-rss && \
|
||||
git checkout 076c5382fafcaf5ffd2bd41752e8e3c3b20e6af0
|
||||
git checkout 080812317939cd9af2f778c15ea4f769fae30b28 && \
|
||||
rm -R .git
|
||||
|
||||
WORKDIR /app
|
||||
COPY CHECKS /app/CHECKS
|
||||
@@ -38,7 +40,6 @@ COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
COPY php-fpm.conf /etc/php7/php-fpm.d/ttrss.conf
|
||||
COPY install-db.php /var/lib/tt-rss-install/install-db.php
|
||||
COPY supervisor.conf /var/lib/tt-rss-install/supervisor.conf
|
||||
COPY manage-supervisord.py /var/lib/tt-rss-install/manage-supervisord.py
|
||||
COPY config.php /var/lib/tt-rss/config.php
|
||||
|
||||
RUN \
|
||||
|
||||
22
Readme.md
22
Readme.md
@@ -9,8 +9,8 @@ dokku plugin:install https://github.com/dokku/dokku-postgres.git
|
||||
|
||||
dokku apps:create ttrss
|
||||
dokku ps:scale ttrss web=0
|
||||
dokku postgres:create ttrssdb_11_2
|
||||
dokku postgres:link ttrssdb_11_2 ttrss
|
||||
dokku postgres:create ttrss-postgres-12_2 --image-version 12.2
|
||||
dokku postgres:link ttrss-postgres-12_2 ttrss
|
||||
dokku config:set ttrss SELF_URL_PATH=http://ttrss.example.com/
|
||||
|
||||
git remote add dokku dokku@example.com:ttrrs
|
||||
@@ -46,10 +46,10 @@ dokku letsencrypt:auto-renew ttrss
|
||||
|
||||
* Upgrade base image in `Dockerfile`: https://hub.docker.com/_/nginx?tab=tags
|
||||
* Upgrade TTRSS commit in `Dockerfile`
|
||||
* Propagate updates in `config.php-dist` to `config.php`: https://git.tt-rss.org/fox/tt-rss/src/master/config.php-dist
|
||||
* Propagate configuration changes updates to `config.php`: https://git.tt-rss.org/fox/tt-rss/src/branch/master/classes/config.php
|
||||
|
||||
```bash
|
||||
dokku postgres:export ttrssdb_11_4 > ttrss.db
|
||||
dokku postgres:export ttrss-postgres-12_2 > ttrss.db
|
||||
git push dokku
|
||||
# go to Tiny Tiny RSS, it will ask to upgrade database, do it and check app is working
|
||||
rm ttrss.db
|
||||
@@ -58,15 +58,13 @@ rm ttrss.db
|
||||
### Database
|
||||
|
||||
```bash
|
||||
# upgrade from Postgres 10.2 to 11.4
|
||||
# upgrade from Postgres 11.6 to 12.2
|
||||
dokku plugins:upgrade postgres
|
||||
dokku postgres:create ttrssdb_11_4
|
||||
dokku postgres:export ttrssdb_10_2 > ttrss.db
|
||||
dokku postgres:import ttrssdb_11_4 < ttrss.db
|
||||
dokku postgres:link ttrssdb_11_4 ttrss
|
||||
dokku postgres:promote ttrssdb_11_4 ttrss
|
||||
dokku postgres:clone ttrss-postgres-11_6 ttrss-postgres-12_2 --image-version 12.2
|
||||
dokku postgres:link ttrss-postgres-12_2 ttrss
|
||||
dokku postgres:promote ttrss-postgres-12_2 ttrss
|
||||
|
||||
# check app is working, then delete old database
|
||||
dokku postgres:unlink ttrssdb_10_2 ttrss
|
||||
dokku postgres:destroy ttrssdb_10_2
|
||||
dokku postgres:unlink ttrss-postgres-11_6 ttrss
|
||||
dokku postgres:destroy ttrss-postgres-11_6
|
||||
```
|
||||
|
||||
188
config.php
188
config.php
@@ -1,183 +1,19 @@
|
||||
<?php
|
||||
// *******************************************
|
||||
// *** Database configuration (important!) ***
|
||||
// *******************************************
|
||||
|
||||
preg_match('#^postgres://(.*):(.*)@(.*):(.*)/(.*)$#', getenv('DATABASE_URL'), $matches);
|
||||
define('DB_TYPE', "pgsql");
|
||||
define('DB_HOST', $matches[3]);
|
||||
define('DB_USER', $matches[1]);
|
||||
define('DB_NAME', $matches[5]);
|
||||
define('DB_PASS', $matches[2]);
|
||||
define('DB_PORT', $matches[4]);
|
||||
putenv('TTRSS_DB_TYPE=pgsql');
|
||||
putenv('TTRSS_DB_HOST=' . $matches[3]);
|
||||
putenv('TTRSS_DB_USER=' . $matches[1]);
|
||||
putenv('TTRSS_DB_NAME=' . $matches[5]);
|
||||
putenv('TTRSS_DB_PASS=' . $matches[2]);
|
||||
putenv('TTRSS_DB_PORT=' . $matches[4]);
|
||||
|
||||
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.
|
||||
putenv('TTRSS_SELF_URL_PATH=' . getenv('SELF_URL_PATH'));
|
||||
|
||||
// ***********************************
|
||||
// *** Basic settings (important!) ***
|
||||
// ***********************************
|
||||
putenv('TTRSS_SINGLE_USER_MODE=false');
|
||||
putenv('TTRSS_SIMPLE_UPDATE_MODE=false');
|
||||
|
||||
define('SELF_URL_PATH', getenv('SELF_URL_PATH'));
|
||||
// This should be set to a fully qualified URL used to access
|
||||
// your tt-rss instance over the net.
|
||||
// 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.
|
||||
putenv('TTRSS_CHECK_FOR_UPDATES=false');
|
||||
|
||||
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).
|
||||
putenv('TTRSS_PLUGINS=auth_internal, note');
|
||||
|
||||
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: http://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");
|
||||
// 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 ***
|
||||
// **********************
|
||||
|
||||
// Please see PLUGINS below to configure various authentication modules.
|
||||
|
||||
define('AUTH_AUTO_CREATE', true);
|
||||
// Allow authentication modules to auto-create users in tt-rss internal
|
||||
// database when authenticated successfully.
|
||||
|
||||
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.
|
||||
|
||||
// *********************
|
||||
// *** Feed settings ***
|
||||
// *********************
|
||||
|
||||
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.
|
||||
|
||||
// ****************************
|
||||
// *** Sphinx search plugin ***
|
||||
// ****************************
|
||||
|
||||
define('SPHINX_SERVER', 'localhost:9312');
|
||||
// Hostname:port combination for the Sphinx server.
|
||||
|
||||
define('SPHINX_INDEX', 'ttrss, delta');
|
||||
// Index name in Sphinx configuration. You can specify multiple indexes
|
||||
// as a comma-separated string.
|
||||
// Example configuration files are available on tt-rss wiki.
|
||||
|
||||
// ***********************************
|
||||
// *** Self-registrations by users ***
|
||||
// ***********************************
|
||||
|
||||
define('ENABLE_REGISTRATION', false);
|
||||
// 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', 'user@your.domain.dom');
|
||||
// Email address to send new user notifications to.
|
||||
|
||||
define('REG_MAX_USERS', 10);
|
||||
// Maximum amount of users which will be allowed to register on this
|
||||
// system. 0 - no limit.
|
||||
|
||||
// **********************************
|
||||
// *** Cookies and login sessions ***
|
||||
// **********************************
|
||||
|
||||
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.
|
||||
|
||||
// *********************************
|
||||
// *** 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', false);
|
||||
// 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);
|
||||
// Expected config version. Please update this option in config.php
|
||||
// if necessary (after migrating all new options from this file).
|
||||
|
||||
// vim:ft=php
|
||||
putenv('TTRSS_LOG_DESTINATION=stdout');
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
import sys
|
||||
import os
|
||||
import signal
|
||||
|
||||
def write_stdout(s):
|
||||
sys.stdout.write(s)
|
||||
sys.stdout.flush()
|
||||
|
||||
def write_stderr(s):
|
||||
sys.stderr.write(s)
|
||||
sys.stderr.flush()
|
||||
|
||||
def main():
|
||||
while 1:
|
||||
write_stdout('READY\n')
|
||||
line = sys.stdin.readline()
|
||||
os.kill(1, signal.SIGTERM)
|
||||
write_stdout('RESULT 2\nOK')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
import sys
|
||||
@@ -29,5 +29,5 @@ stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
[eventlistener:quit_on_failure]
|
||||
command=/usr/bin/python /var/lib/tt-rss-install/manage-supervisord.py
|
||||
command=/usr/bin/php7 -r 'chdir("/var/lib/tt-rss"); while (true) { print("READY\n"); readline(); posix_kill(1, SIGTERM); print("RESULT 2\nOK"); }'
|
||||
events=PROCESS_STATE_FATAL
|
||||
|
||||
Reference in New Issue
Block a user