Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
da8b67cf1d | |||
08d4b6feb7 | |||
95cb030307 | |||
a18df05208 | |||
1d4c4b2db9 | |||
166f9d9e31 | |||
cfe0a52f65 | |||
305893a0bb | |||
67a1082908 | |||
69b5a66a03 | |||
a197d04db5 | |||
0471467e64 | |||
578e5d2296 | |||
155f935821 | |||
0f5296d027 | |||
38fc80f338 | |||
d709598e82 | |||
8ebe3dbb20 |
@ -88,7 +88,7 @@ local PipelineNotifications(depends_on=[]) = {
|
|||||||
DOCKERHUB_REPO_PREFIX: "xoxys",
|
DOCKERHUB_REPO_PREFIX: "xoxys",
|
||||||
DOCKERHUB_REPO_NAME: "ttrss",
|
DOCKERHUB_REPO_NAME: "ttrss",
|
||||||
README_PATH: "README.md",
|
README_PATH: "README.md",
|
||||||
SHORT_DESCRIPTION: "Tiny Tiny RSS - free and open source news feed reader and aggregator"
|
SHORT_DESCRIPTION: "Tiny Tiny RSS - Free and open source news feed reader and aggregator"
|
||||||
},
|
},
|
||||||
when: {
|
when: {
|
||||||
ref: [
|
ref: [
|
||||||
|
@ -79,7 +79,7 @@ steps:
|
|||||||
DOCKERHUB_USERNAME:
|
DOCKERHUB_USERNAME:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
README_PATH: README.md
|
README_PATH: README.md
|
||||||
SHORT_DESCRIPTION: Tiny Tiny RSS - free and open source news feed reader and aggregator
|
SHORT_DESCRIPTION: Tiny Tiny RSS - Free and open source news feed reader and aggregator
|
||||||
when:
|
when:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
@ -118,6 +118,6 @@ depends_on:
|
|||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 1be20e6fec87140af3743fe805e738be2a4750a85cc8452332287841c30b699f
|
hmac: dc21d353585f6faf703b81baa1265634b52543a981c2745f07859dcc41dcabf7
|
||||||
|
|
||||||
...
|
...
|
||||||
|
@ -23,15 +23,23 @@ RUN apk --update add --virtual .build-deps tar curl && \
|
|||||||
curl -SsL -o /etc/php7/browscap.ini https://browscap.org/stream?q=Lite_PHP_BrowsCapINI && \
|
curl -SsL -o /etc/php7/browscap.ini https://browscap.org/stream?q=Lite_PHP_BrowsCapINI && \
|
||||||
apk del .build-deps && \
|
apk del .build-deps && \
|
||||||
rm -rf /var/cache/apk/* && \
|
rm -rf /var/cache/apk/* && \
|
||||||
rm -rf /tmp/*
|
rm -rf /tmp/* && \
|
||||||
|
mkdir -p /var/lib/php/tmp_upload && \
|
||||||
|
mkdir -p /var/lib/php/soap_cache && \
|
||||||
|
mkdir -p /var/lib/php/session && \
|
||||||
|
chown -R nginx:nginx /var/lib/php/tmp_upload && \
|
||||||
|
chown -R nginx:nginx /var/lib/php/soap_cache && \
|
||||||
|
chown -R nginx:nginx /var/lib/php/session
|
||||||
|
|
||||||
ADD overlay/ /
|
ADD overlay/ /
|
||||||
|
|
||||||
VOLUME /var/www/app/plugins.local
|
VOLUME /var/www/app/plugins.local
|
||||||
VOLUME /var/www/app/feed-icons
|
VOLUME /var/www/app/feed-icons
|
||||||
|
VOLUME /var/www/app/themes.local
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||||
|
HEALTHCHECK --interval=30s --timeout=10s --retries=3 CMD /usr/local/bin/healthcheck.sh
|
||||||
WORKDIR /var/www/app
|
WORKDIR /var/www/app
|
||||||
CMD []
|
CMD []
|
||||||
|
22
README.md
22
README.md
@ -3,7 +3,7 @@
|
|||||||
[![Build Status](https://drone.rknet.org/api/badges/docker/ttrss/status.svg)](https://drone.rknet.org/docker/ttrss/)
|
[![Build Status](https://drone.rknet.org/api/badges/docker/ttrss/status.svg)](https://drone.rknet.org/docker/ttrss/)
|
||||||
[![Microbadger](https://images.microbadger.com/badges/image/xoxys/ttrss.svg)](https://microbadger.com/images/xoxys/ttrss "Get your own image badge on microbadger.com")
|
[![Microbadger](https://images.microbadger.com/badges/image/xoxys/ttrss.svg)](https://microbadger.com/images/xoxys/ttrss "Get your own image badge on microbadger.com")
|
||||||
|
|
||||||
TT-RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.
|
TT-RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible. This repository is just a wrapper to build a community docker image from [TT-RSS](https://git.tt-rss.org/git/tt-rss) releases.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ Compatible with docker-compose v2 schemas.
|
|||||||
|
|
||||||
```Yaml
|
```Yaml
|
||||||
---
|
---
|
||||||
version: '2'
|
version: '2.1'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
ttrss:
|
ttrss:
|
||||||
@ -36,8 +36,9 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
volumes:
|
volumes:
|
||||||
- plugins:/var/www/app/plugins.local
|
- ttrss_plugins:/var/www/app/plugins.local
|
||||||
- icons:/var/www/app/feed-icons
|
- ttrss_icons:/var/www/app/feed-icons
|
||||||
|
- ttrss_themes:/var/www/app/themes.local
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres
|
image: postgres
|
||||||
@ -51,9 +52,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
driver: local
|
driver: local
|
||||||
plugins:
|
ttrss_plugins:
|
||||||
driver: local
|
driver: local
|
||||||
icons:
|
ttrss_icons:
|
||||||
|
driver: local
|
||||||
|
ttrss_themes:
|
||||||
driver: local
|
driver: local
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -111,6 +114,13 @@ PHP_ALLOW_URL_FOPEN=On
|
|||||||
PHP_ALLOW_URL_INCLUDE=Off
|
PHP_ALLOW_URL_INCLUDE=Off
|
||||||
PHP_DATE_TIMEZONE=Europe/Berlin
|
PHP_DATE_TIMEZONE=Europe/Berlin
|
||||||
PHP_SQL_SAFE_MODE=On
|
PHP_SQL_SAFE_MODE=On
|
||||||
|
PHP_OPCACHE_ENABLE=On
|
||||||
|
PHP_OPCACHE_MEMORY_CONSUMPTION=64
|
||||||
|
PHP_OPCACHE_MAX_ACCELERATED_FILES=2000
|
||||||
|
PHP_OPCACHE_MAX_WASTED_PERCENTAGE=5
|
||||||
|
PHP_OPCACHE_INTERNED_STRINGS_BUFFER=4
|
||||||
|
PHP_OPCACHE_REVALIDATE_FREQ=2
|
||||||
|
PHP_OPCACHE_SAVE_COMMENTS=1
|
||||||
```
|
```
|
||||||
|
|
||||||
### License
|
### License
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
version: '2'
|
version: '2.1'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
ttrss:
|
ttrss:
|
||||||
@ -6,8 +6,12 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
volumes:
|
||||||
|
- ttrss_plugins:/var/www/app/plugins.local
|
||||||
|
- ttrss_icons:/var/www/app/feed-icons
|
||||||
|
- ttrss_themes:/var/www/app/themes.local
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres
|
image: postgres
|
||||||
environment:
|
environment:
|
||||||
@ -15,8 +19,14 @@ services:
|
|||||||
POSTGRES_PASSWORD: secure
|
POSTGRES_PASSWORD: secure
|
||||||
POSTGRES_DB: ttrss
|
POSTGRES_DB: ttrss
|
||||||
volumes:
|
volumes:
|
||||||
- postgres_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
driver: local
|
driver: local
|
||||||
|
ttrss_plugins:
|
||||||
|
driver: local
|
||||||
|
ttrss_icons:
|
||||||
|
driver: local
|
||||||
|
ttrss_themes:
|
||||||
|
driver: local
|
||||||
|
1
overlay/etc/crontabs/nginx
Normal file
1
overlay/etc/crontabs/nginx
Normal file
@ -0,0 +1 @@
|
|||||||
|
*/15 * * * * /usr/bin/php /var/www/app/update.php --feeds
|
@ -16,7 +16,7 @@ http {
|
|||||||
keepalive_timeout 65;
|
keepalive_timeout 65;
|
||||||
server_tokens off;
|
server_tokens off;
|
||||||
access_log off;
|
access_log off;
|
||||||
error_log /dev/stderr;
|
error_log /dev/stdout;
|
||||||
|
|
||||||
fastcgi_buffers 16 16k;
|
fastcgi_buffers 16 16k;
|
||||||
fastcgi_buffer_size 32k;
|
fastcgi_buffer_size 32k;
|
||||||
|
4
overlay/etc/services.d/.s6-svscan/crash
Executable file
4
overlay/etc/services.d/.s6-svscan/crash
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
echo "Container crashed. Exiting..."
|
||||||
|
exit 1
|
2
overlay/etc/services.d/.s6-svscan/finish
Normal file → Executable file
2
overlay/etc/services.d/.s6-svscan/finish
Normal file → Executable file
@ -1,2 +1,2 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
/bin/true
|
exit 0
|
||||||
|
2
overlay/etc/services.d/cron/run
Executable file
2
overlay/etc/services.d/cron/run
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/execlineb -P
|
||||||
|
crond -f
|
@ -1,2 +0,0 @@
|
|||||||
#!/bin/execlineb -P
|
|
||||||
s6-setuidgid nginx php7 /var/www/app/update_daemon2.php > /dev/null 2>&1
|
|
@ -21,7 +21,7 @@ serialize_precision = 17
|
|||||||
|
|
||||||
open_basedir = "/var/www/app:/var/lib/php/tmp_upload:/var/lib/php/session:/var/lib/php/soap_cache"
|
open_basedir = "/var/www/app:/var/lib/php/tmp_upload:/var/lib/php/session:/var/lib/php/soap_cache"
|
||||||
|
|
||||||
disable_functions = system, exec, shell_exec, phpinfo, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, move_uploaded_file, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo
|
disable_functions = system, exec, shell_exec, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, move_uploaded_file, mkdir, rmdir, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo
|
||||||
disable_classes =
|
disable_classes =
|
||||||
|
|
||||||
;highlight.string = #DD0000
|
;highlight.string = #DD0000
|
||||||
@ -350,17 +350,17 @@ ldap.max_links = -1
|
|||||||
;dba.default_handler =
|
;dba.default_handler =
|
||||||
|
|
||||||
[opcache]
|
[opcache]
|
||||||
;opcache.enable = 0
|
opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "On" }}
|
||||||
;opcache.enable_cli = 0
|
;opcache.enable_cli = 0
|
||||||
;opcache.memory_consumption = 64
|
opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "64" }}
|
||||||
;opcache.interned_strings_buffer = 4
|
opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "4" }}
|
||||||
;opcache.max_accelerated_files = 2000
|
opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "2000" }}
|
||||||
;opcache.max_wasted_percentage = 5
|
opcache.max_wasted_percentage = {{ getenv "PHP_OPCACHE_MAX_WASTED_PERCENTAGE" "5" }}
|
||||||
;opcache.use_cwd = 1
|
;opcache.use_cwd = 1
|
||||||
;opcache.validate_timestamps = 1
|
;opcache.validate_timestamps = 1
|
||||||
;opcache.revalidate_freq = 2
|
opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }}
|
||||||
;opcache.revalidate_path = 0
|
;opcache.revalidate_path = 0
|
||||||
;opcache.save_comments = 1
|
opcache.save_comments = {{ getenv "PHP_OPCACHE_MAX_WASTED_PERCENTAGE" "1" }}
|
||||||
;opcache.fast_shutdown = 0
|
;opcache.fast_shutdown = 0
|
||||||
;opcache.enable_file_override = 0
|
;opcache.enable_file_override = 0
|
||||||
;opcache.optimization_level = 0xffffffff
|
;opcache.optimization_level = 0xffffffff
|
||||||
|
@ -2,10 +2,17 @@
|
|||||||
/usr/local/bin/gomplate -V -o /etc/php7/php.ini -f /etc/templates/php.ini.tmpl
|
/usr/local/bin/gomplate -V -o /etc/php7/php.ini -f /etc/templates/php.ini.tmpl
|
||||||
/usr/local/bin/gomplate -V -o /var/www/app/config.php -f /etc/templates/config.php.tmpl
|
/usr/local/bin/gomplate -V -o /var/www/app/config.php -f /etc/templates/config.php.tmpl
|
||||||
|
|
||||||
|
# ensure lock folders exists
|
||||||
|
mkdir -p /var/www/app/cache/images
|
||||||
|
mkdir -p /var/www/app/cache/upload
|
||||||
|
mkdir -p /var/www/app/cache/export
|
||||||
|
|
||||||
chown -R nginx:nginx /var/www/app/lock
|
chown -R nginx:nginx /var/www/app/lock
|
||||||
chown -R nginx:nginx /var/www/app/cache
|
chown -R nginx:nginx /var/www/app/cache
|
||||||
chown -R nginx:nginx /var/www/app/feed-icons
|
chown -R nginx:nginx /var/www/app/feed-icons
|
||||||
|
chown -R nginx:nginx /var/www/app/plugins.local
|
||||||
|
chown -R nginx:nginx /var/www/app/themes.local
|
||||||
|
|
||||||
s6-setuidgid nginx php7 /var/www/app/docker_setup.php
|
s6-setuidgid nginx php /var/www/app/docker_setup.php
|
||||||
|
|
||||||
exec /bin/s6-svscan /etc/services.d
|
exec /bin/s6-svscan /etc/services.d
|
||||||
|
17
overlay/usr/local/bin/healthcheck.sh
Executable file
17
overlay/usr/local/bin/healthcheck.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
URL=http://localhost
|
||||||
|
|
||||||
|
wget --quiet --tries=1 --spider ${URL}
|
||||||
|
[ $? -ne 0 ] && exit 1
|
||||||
|
|
||||||
|
CONTENT=$(wget --quiet -O - ${URL})
|
||||||
|
case "$CONTENT" in
|
||||||
|
*Exception*) exit 1 ;;
|
||||||
|
*alert-*alert-*SELF_URL_PATH*) exit 1 ;;
|
||||||
|
*alert-*SELF_URL_PATH*alert-*) exit 1 ;;
|
||||||
|
*SELF_URL_PATH*alert-*alert-*) exit 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
Reference in New Issue
Block a user