feat(freshrss): add personal rss reader
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
TZ=Europe/Madrid
|
||||
|
||||
FRESHRSS_IMAGE=freshrss/freshrss:latest
|
||||
FRESHRSS_DOMAIN=rss.sherlockhomeless.net
|
||||
FRESHRSS_DATA_PATH=/opt/freshrss/data
|
||||
FRESHRSS_EXTENSIONS_PATH=/opt/freshrss/extensions
|
||||
FRESHRSS_CRON_MIN=3,33
|
||||
FRESHRSS_ENV=production
|
||||
|
||||
TRAEFIK_DOCKER_NETWORK=proxy
|
||||
@@ -0,0 +1,17 @@
|
||||
# FreshRSS
|
||||
|
||||
Lector RSS personal publicado en `rss.sherlockhomeless.net`.
|
||||
|
||||
## Despliegue
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
docker compose --env-file .env config
|
||||
docker compose --env-file .env up -d
|
||||
```
|
||||
|
||||
El primer acceso abre el instalador de FreshRSS. Para este servidor se usa SQLite
|
||||
con persistencia en `/opt/freshrss`.
|
||||
|
||||
El enrutado publico vive en `/opt/traefik/dynamic/freshrss.yml` y el servicio
|
||||
esta preparado para Sablier con el middleware `sablier-freshrss@file`.
|
||||
@@ -0,0 +1,34 @@
|
||||
services:
|
||||
freshrss:
|
||||
image: ${FRESHRSS_IMAGE}
|
||||
container_name: freshrss
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: ${TZ}
|
||||
CRON_MIN: ${FRESHRSS_CRON_MIN}
|
||||
FRESHRSS_ENV: ${FRESHRSS_ENV}
|
||||
volumes:
|
||||
- ${FRESHRSS_DATA_PATH}:/var/www/FreshRSS/data:Z
|
||||
- ${FRESHRSS_EXTENSIONS_PATH}:/var/www/FreshRSS/extensions:Z
|
||||
networks:
|
||||
- freshrss_internal
|
||||
- proxy
|
||||
labels:
|
||||
prune.protect: "true"
|
||||
traefik.enable: "true"
|
||||
traefik.docker.network: "${TRAEFIK_DOCKER_NETWORK}"
|
||||
homepage.group: "Productividad"
|
||||
homepage.name: "FreshRSS"
|
||||
homepage.icon: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/freshrss.svg"
|
||||
homepage.description: "Lector RSS personal"
|
||||
homepage.href: "https://${FRESHRSS_DOMAIN}/"
|
||||
homepage.siteMonitor: "http://freshrss:80/"
|
||||
homepage.weight: "560"
|
||||
|
||||
networks:
|
||||
freshrss_internal:
|
||||
driver: bridge
|
||||
labels:
|
||||
prune.protect: "true"
|
||||
proxy:
|
||||
external: true
|
||||
@@ -0,0 +1,19 @@
|
||||
http:
|
||||
routers:
|
||||
freshrss:
|
||||
rule: Host(`rss.sherlockhomeless.net`)
|
||||
entryPoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- crowdsec-bouncer@file
|
||||
- ths-authentik@docker
|
||||
- sablier-freshrss@file
|
||||
service: freshrss
|
||||
|
||||
services:
|
||||
freshrss:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: http://freshrss:80
|
||||
@@ -27,6 +27,7 @@ DEFAULT_ENDPOINTS = [
|
||||
"https://memos.sherlockhomeless.net",
|
||||
"https://vikunja.sherlockhomeless.net",
|
||||
"https://karakeep.sherlockhomeless.net",
|
||||
"https://rss.sherlockhomeless.net",
|
||||
"https://ots.sherlockhomeless.net",
|
||||
"https://dozzle.sherlockhomeless.net",
|
||||
"https://beszel.sherlockhomeless.net",
|
||||
@@ -34,6 +35,7 @@ DEFAULT_ENDPOINTS = [
|
||||
|
||||
DEFAULT_ACCEPTED_STATUS_CODES = {
|
||||
"https://traefik.sherlockhomeless.net": {200, 301, 302, 303, 307, 308, 401, 403},
|
||||
"https://rss.sherlockhomeless.net": {200, 301, 302, 303, 307, 308, 401, 403},
|
||||
"https://ots.sherlockhomeless.net": {200, 301, 302, 303, 307, 308, 401, 403},
|
||||
"https://dozzle.sherlockhomeless.net": {200, 301, 302, 303, 307, 308, 401, 403},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user