Add RSS
This commit is contained in:
parent
33daccf1d2
commit
6f044f05c8
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
node_modules/
|
||||
package-lock.json
|
||||
github.secrets
|
||||
.DS_Store
|
||||
|
|
16
apps/rss/config.json
Normal file
16
apps/rss/config.json
Normal 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": []
|
||||
}
|
3
apps/rss/data/storage/feeds.txt
Normal file
3
apps/rss/data/storage/feeds.txt
Normal 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
|
26
apps/rss/docker-compose.yml
Normal file
26
apps/rss/docker-compose.yml
Normal 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
|
||||
|
||||
|
89
apps/rss/metadata/description.md
Normal file
89
apps/rss/metadata/description.md
Normal 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
BIN
apps/rss/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
Loading…
Reference in New Issue
Block a user