This commit is contained in:
DrMxrcy 2023-02-28 00:03:10 -05:00
parent 33daccf1d2
commit 6f044f05c8
6 changed files with 135 additions and 0 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules/
package-lock.json
github.secrets
.DS_Store

16
apps/rss/config.json Normal file
View File

@ -0,0 +1,16 @@
{
"$schema": "../schema.json",
"name": "RSS",
"port": 8141,
"available": true,
"exposable": true,
"id": "rss",
"tipi_version": 1,
"version": "v1.2.0",
"categories": ["utilities, media"],
"description": "A simple twitter-feed-style RSS aggregator written in PHP, Laravel, Inertia.js, Tailwind and Vue.js",
"short_desc": "A simple, opinionated, RSS feed aggregator.",
"author": "https://github.com/ssddanbrown",
"source": "https://github.com/ssddanbrown/rss",
"form_fields": []
}

View File

@ -0,0 +1,3 @@
https://noted.lol/rss Noted⭐[#9233B1] #self-hosting
https://www.linuxserver.io/blog.rss Linux-Server[#0078b9] #self-hosting
https://blog.networkprofile.org/rss Network-Profile[#D48D27] #self-hosting

View File

@ -0,0 +1,26 @@
version: "2"
services:
rss:
image: ghcr.io/ssddanbrown/rss:v1.2.0
container_name: rss
environment:
- APP_NAME=Tipi-RSS
- APP_FEED_UPDATE_FREQUENCY=35
- APP_LOAD_POST_THUMBNAILS=true
volumes:
- ${APP_DATA_DIR}/data/storage:/app/storage
ports:
- "${APP_PORT}:80"
restart: unless-stopped
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.rss.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.rss.entrypoints: websecure
traefik.http.routers.rss.service: rss
traefik.http.routers.rss.tls.certresolver: myresolver
traefik.http.services.rss.loadbalancer.server.port: 80
networks:
- tipi_main_network

View File

@ -0,0 +1,89 @@
# RSS
A simple, opinionated, RSS feed aggregator.
# Edit the feeds.txt file.
## Feed Configuration
Feed configuration is handled by a plaintext file on the host system.
By default, using our docker image, this configuration would be located in a `feeds.txt` file within the path you mounted to `/app/storage`.
The format of this file can be seen below:
```txt
https://feed.url.com/feed.xml feed-name #tag-a #tag-b
https://example.com/feed.xml Example #updates #news
# Lines starting with a hash are considered comments.
# Empty lines are fine and will be ignored.
# Underscores in names will be converted to spaces.
https://example.com/feed-b.xml News_Site #news
# Feed color can be set using square brackets after the name.
# The color must be a CSS-compatible color value.
https://example.com/feed-c.xml Blue_News[#0078b9] #news #blue
```
## Features
The following features are built into the application:
- Supports RSS and ATOM formats.
- Regular auto-fetching of RSS feeds.
- Every hour by default, configurable down to 5 mins.
- Custom feed names and colors.
- Feed-based tags for categorization.
- 3 different post layout modes (card, list, compact).
- Fetching of page open-graph images.
- Feeds managed via a single plaintext file.
- System-based dark/light theme.
- Post title/description search.
- Ready-to-use docker image.
- Mobile screen compatible.
- Built-in support to prune old post data.
## Limitations
The below possibly expected features are missing from this application.
This is not a list of planned features. Please see the [Low Maintenance Project](#low-maintenance-project) section below for more info.
- No import of full post/article content.
- No feed management via the UI.
- No user system or user management system.
- No authentication or authorization built-in.
- No customization, extension or plugin system.
- No organisation upon simple feed-level tagging.
- Error handling is limited and will likely not alert clearly upon issue.
Upon the above, it's quite likely you'll come across issues. This project was created to meet a personal need while learning some new technologies. Much of the logic is custom written instead of using battle-tested libraries.
## Screenshots
<table>
<tbody>
<tr>
<td width="25%">
Card View
<img src="https://github.com/ssddanbrown/rss/raw/main/.github/screenshots/card-view.png">
</td>
<td width="25%">
List View
<img src="https://github.com/ssddanbrown/rss/raw/main/.github/screenshots/list-view.png">
</td>
<td width="25%">
Compact View
<img src="https://github.com/ssddanbrown/rss/raw/main/.github/screenshots/compact-view.png">
</td>
<td width="25%">
Dark Mode
<img src="https://github.com/ssddanbrown/rss/raw/main/.github/screenshots/dark-mode.png">
</td>
</tr>
</tbody>
</table>

BIN
apps/rss/metadata/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB