From 27901d8b5da7477988149d6fac52fcf21dbc2c07 Mon Sep 17 00:00:00 2001 From: okxlin Date: Thu, 19 Sep 2024 01:25:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0freshrss=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8#1655?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/freshrss/1.24.3/.env.sample | 7 ++++ apps/freshrss/1.24.3/data.yml | 50 ++++++++++++++++++++++++ apps/freshrss/1.24.3/docker-compose.yml | 23 +++++++++++ apps/freshrss/README.md | 18 +++++++++ apps/freshrss/data.yml | 19 +++++++++ apps/freshrss/latest/.env.sample | 7 ++++ apps/freshrss/latest/data.yml | 50 ++++++++++++++++++++++++ apps/freshrss/latest/docker-compose.yml | 23 +++++++++++ apps/freshrss/logo.png | Bin 0 -> 5706 bytes 9 files changed, 197 insertions(+) create mode 100644 apps/freshrss/1.24.3/.env.sample create mode 100644 apps/freshrss/1.24.3/data.yml create mode 100644 apps/freshrss/1.24.3/docker-compose.yml create mode 100644 apps/freshrss/README.md create mode 100644 apps/freshrss/data.yml create mode 100644 apps/freshrss/latest/.env.sample create mode 100644 apps/freshrss/latest/data.yml create mode 100644 apps/freshrss/latest/docker-compose.yml create mode 100644 apps/freshrss/logo.png diff --git a/apps/freshrss/1.24.3/.env.sample b/apps/freshrss/1.24.3/.env.sample new file mode 100644 index 00000000..7200b809 --- /dev/null +++ b/apps/freshrss/1.24.3/.env.sample @@ -0,0 +1,7 @@ +CONTAINER_NAME="freshrss" +CRON_MIN="2,32" +DATA_PATH="./data/data" +EXTENSIONS_PATH="./data/extensions" +FRESHRSS_ENV="development" +PANEL_APP_PORT_HTTP=40293 +TIME_ZONE="Asia/Shanghai" diff --git a/apps/freshrss/1.24.3/data.yml b/apps/freshrss/1.24.3/data.yml new file mode 100644 index 00000000..6abbd970 --- /dev/null +++ b/apps/freshrss/1.24.3/data.yml @@ -0,0 +1,50 @@ +additionalProperties: + formFields: + - default: "40293" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data/data" + edit: true + envKey: DATA_PATH + labelEn: Data Path + labelZh: 数据路径 + required: true + type: text + - default: "./data/extensions" + edit: true + envKey: EXTENSIONS_PATH + labelEn: Extensions Path + labelZh: 扩展路径 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TIME_ZONE + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "2,32" + edit: true + envKey: CRON_MIN + labelEn: Cron Min + labelZh: 定时任务分钟 + required: true + type: text + - default: "development" + edit: true + envKey: FRESHRSS_ENV + labelEn: Environment + labelZh: 环境 + required: true + type: select + values: + - label: "Development" + value: "development" + - label: "Production" + value: "production" diff --git a/apps/freshrss/1.24.3/docker-compose.yml b/apps/freshrss/1.24.3/docker-compose.yml new file mode 100644 index 00000000..831e8a78 --- /dev/null +++ b/apps/freshrss/1.24.3/docker-compose.yml @@ -0,0 +1,23 @@ +services: + freshrss: + image: "freshrss/freshrss:1.24.3" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + volumes: + - ${DATA_PATH}/data:/var/www/FreshRSS/data + - ${EXTENSIONS_PATH}:/var/www/FreshRSS/extensions + environment: + - TZ=${TIME_ZONE} + - CRON_MIN=${CRON_MIN} + - FRESHRSS_ENV=${FRESHRSS_ENV} + - LISTEN=0.0.0.0:${PANEL_APP_PORT_HTTP} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/freshrss/README.md b/apps/freshrss/README.md new file mode 100644 index 00000000..0d374035 --- /dev/null +++ b/apps/freshrss/README.md @@ -0,0 +1,18 @@ +# FreshRSS + +FreshRSS 是一个自托管的 RSS 聚合器。 + +它轻量、易用、强大且可定制。支持多用户使用,并具备匿名阅读模式和自定义标签功能。提供 API 用于(移动)客户端,还支持 [命令行接口](https://github.com/FreshRSS/FreshRSS/blob/edge/cli/README.md)。 + +通过 [WebSub](https://freshrss.github.io/FreshRSS/en/users/WebSub.html) 标准,FreshRSS 能够从兼容的来源(如 [Friendica](https://friendi.ca)、[WordPress](https://wordpress.org/plugins/pubsubhubbub/)、Blogger、Medium 等)接收即时推送通知。 + +FreshRSS 原生支持基于 [XPath](https://www.w3.org/TR/xpath-10/) 的 [Web 抓取](https://freshrss.github.io/FreshRSS/en/users/11_website_scraping.html),适用于没有提供 RSS / Atom 订阅的网站。同时支持 JSON 文档解析。 + +FreshRSS 还提供了通过 HTML、RSS 和 OPML [重新分享文章的功能](https://freshrss.github.io/FreshRSS/en/users/user_queries.html)。 + +支持多种 [登录方法](https://freshrss.github.io/FreshRSS/en/admins/09_AccessControl.html):Web 表单(包含匿名选项)、HTTP 身份验证(兼容代理委托)、OpenID Connect。 + +此外,FreshRSS 还支持 [扩展](https://github.com/FreshRSS/FreshRSS#extensions) 以便进行更多调整。 + +- 官方网站: +- 演示: \ No newline at end of file diff --git a/apps/freshrss/data.yml b/apps/freshrss/data.yml new file mode 100644 index 00000000..b6062a33 --- /dev/null +++ b/apps/freshrss/data.yml @@ -0,0 +1,19 @@ +name: FreshRSS +tags: + - 实用工具 +title: 自托管的 RSS 和 Atom 订阅源聚合器 +description: 自托管的 RSS 和 Atom 订阅源聚合器 +additionalProperties: + key: freshrss + name: FreshRSS + tags: + - Tool + shortDescZh: 自托管的 RSS 和 Atom 订阅源聚合器 + shortDescEn: A self-hosted RSS and Atom feed aggregator + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://freshrss.org + github: https://github.com/FreshRSS/FreshRSS + document: https://freshrss.github.io/FreshRSS diff --git a/apps/freshrss/latest/.env.sample b/apps/freshrss/latest/.env.sample new file mode 100644 index 00000000..7200b809 --- /dev/null +++ b/apps/freshrss/latest/.env.sample @@ -0,0 +1,7 @@ +CONTAINER_NAME="freshrss" +CRON_MIN="2,32" +DATA_PATH="./data/data" +EXTENSIONS_PATH="./data/extensions" +FRESHRSS_ENV="development" +PANEL_APP_PORT_HTTP=40293 +TIME_ZONE="Asia/Shanghai" diff --git a/apps/freshrss/latest/data.yml b/apps/freshrss/latest/data.yml new file mode 100644 index 00000000..6abbd970 --- /dev/null +++ b/apps/freshrss/latest/data.yml @@ -0,0 +1,50 @@ +additionalProperties: + formFields: + - default: "40293" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data/data" + edit: true + envKey: DATA_PATH + labelEn: Data Path + labelZh: 数据路径 + required: true + type: text + - default: "./data/extensions" + edit: true + envKey: EXTENSIONS_PATH + labelEn: Extensions Path + labelZh: 扩展路径 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TIME_ZONE + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "2,32" + edit: true + envKey: CRON_MIN + labelEn: Cron Min + labelZh: 定时任务分钟 + required: true + type: text + - default: "development" + edit: true + envKey: FRESHRSS_ENV + labelEn: Environment + labelZh: 环境 + required: true + type: select + values: + - label: "Development" + value: "development" + - label: "Production" + value: "production" diff --git a/apps/freshrss/latest/docker-compose.yml b/apps/freshrss/latest/docker-compose.yml new file mode 100644 index 00000000..b583b8bc --- /dev/null +++ b/apps/freshrss/latest/docker-compose.yml @@ -0,0 +1,23 @@ +services: + freshrss: + image: "freshrss/freshrss:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + volumes: + - ${DATA_PATH}/data:/var/www/FreshRSS/data + - ${EXTENSIONS_PATH}:/var/www/FreshRSS/extensions + environment: + - TZ=${TIME_ZONE} + - CRON_MIN=${CRON_MIN} + - FRESHRSS_ENV=${FRESHRSS_ENV} + - LISTEN=0.0.0.0:${PANEL_APP_PORT_HTTP} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/freshrss/logo.png b/apps/freshrss/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9b7c9a460548acff381ddfe2115fd6e4468ea9 GIT binary patch literal 5706 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 P90s6FElp~S++zO+!4tyg literal 0 HcmV?d00001