Self hosted RSS/Atom aggregator, supporting multi-user and anonymous

modes. It also boasts a number of other powerful features:
- Instant push notifications from compatible sources, such as
  Mastodon, Friendica, WordPress, Blogger, FeedBurner, etc.
- Basic Web scraping, based on XPath, for Web sites not providing
  any RSS/Atom feeds.
- Custom tags and extensions for further tuning.

ok abieber op
This commit is contained in:
aisha 2022-11-10 13:28:31 +00:00
parent 1e24685a1a
commit 91ce38c6ca
5 changed files with 1246 additions and 0 deletions

38
www/freshrss/Makefile Normal file
View File

@ -0,0 +1,38 @@
COMMENT = self hosted RSS/Atom aggregator
CATEGORIES = www
PKG_ARCH = *
GH_ACCOUNT = FreshRSS
GH_PROJECT = FreshRSS
GH_TAGNAME = 1.20.0
PKGNAME = freshrss-${GH_TAGNAME}
HOMEPAGE = https://freshrss.org/
MAINTAINER = Aisha Tammy <openbsd@aisha.cc>
# AGPL-3.0
PERMIT_PACKAGE = Yes
MODULES = lang/php
RUN_DEPENDS = lang/php/${MODPHP_VERSION},-curl \
lang/php/${MODPHP_VERSION},-gd \
lang/php/${MODPHP_VERSION},-gmp \
lang/php/${MODPHP_VERSION},-intl \
lang/php/${MODPHP_VERSION},-pdo_sqlite \
lang/php/${MODPHP_VERSION},-zip
NO_TEST = Yes
NO_BUILD = Yes
PREFIX = ${LOCALSTATEDIR}
INSTDIR = ${PREFIX}/www/freshrss
do-install:
${INSTALL_DATA_DIR} ${INSTDIR}
cp -a ${WRKSRC}/. ${INSTDIR}
.include <bsd.port.mk>

2
www/freshrss/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (FreshRSS-1.20.0.tar.gz) = 61GIbYXZ6V8x8iW8dxmIXjtAt1xofh9nDnHwGUnxMVM=
SIZE (FreshRSS-1.20.0.tar.gz) = 4393683

7
www/freshrss/pkg/DESCR Normal file
View File

@ -0,0 +1,7 @@
Self hosted RSS/Atom aggregator, supporting multi-user and anonymous
modes. It also boasts a number of other powerful features:
- Instant push notifications from compatible sources, such as
Mastodon, Friendica, WordPress, Blogger, FeedBurner, etc.
- Basic Web scraping, based on XPath, for Web sites not providing
any RSS/Atom feeds.
- Custom tags and extensions for further tuning.

1148
www/freshrss/pkg/PLIST Normal file

File diff suppressed because it is too large Load Diff

51
www/freshrss/pkg/README Normal file
View File

@ -0,0 +1,51 @@
+-------------------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-------------------------------------------------------------------------------
Exposing a webserver
====================
An example nginx config is provided for reference:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name <server-name>;
ssl_certificate /etc/ssl/freshrss.crt;
ssl_certificate_key /etc/ssl/private/freshrss.key;
root /freshrss/p;
index index.html;
location / {
try_files $uri $uri/ /index.php$query_string;
}
location ~ ^(.*\.php)(.*)$ {
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_split_path_info ^(.*\.php)(.*)$;
fastcgi_pass unix:run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
PHP cron jobs
=============
FreshRSS needs to run periodic book-keeping tasks. These need to be
scheduled using cron(8), via the crontab for the www user.
$ crontab -l -u www
#
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
HOME=/var/www
#
#minute hour mday month wday [flags] command
* * * * * -n cd ${LOCALSTATEDIR}/www/freshrss && ${MODPHP_BIN} app/actualize_script.php