This commit is contained in:
decentral1se 2022-08-17 13:48:59 +02:00
commit b7fe99b0f5
Signed by: decentral1se
GPG Key ID: 03789458B3D0C410
6 changed files with 116 additions and 0 deletions

4
.env.sample Normal file
View File

@ -0,0 +1,4 @@
TYPE=rsshub
DOMAIN=rsshub.example.com
LETS_ENCRYPT_ENV=production

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.envrc

25
README.md Normal file
View File

@ -0,0 +1,25 @@
# rsshub
> An open source, easy to use, and extensible RSS feed aggregator, it's capable
> of generating RSS feeds from pretty much everything.
<!-- metadata -->
* **Category**: Apps
* **Status**: 0
* **Image**: [`diygod/rsshub`](https://hub.docker.com/r/rsshub), 4, upstream
* **Healthcheck**: No
* **Backups**: No
* **Email**: No
* **Tests**: No
* **SSO**: No
<!-- endmetadata -->
## Quick start
* `abra app new rsshub --secrets`
* `abra app config <app-name>`
* `abra app deploy <app-name>`
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).

1
abra.sh Normal file
View File

@ -0,0 +1 @@
export APP_ENTRYPOINT_VERSION=v1

56
compose.yml Normal file
View File

@ -0,0 +1,56 @@
---
version: "3.8"
services:
app:
image: "diygod/rsshub:2022-08-17"
environment:
- NODE_ENV=production
- CACHE_TYPE=redis
- REDIS_URL="redis://redis:6379/"
- PUPPETEER_WS_ENDPOINT="ws://browserless:3000"
networks:
- proxy
- internal
configs:
- source: app_entrypoint
target: /docker-entrypoint.sh
mode: 0555
entrypoint: /docker-entrypoint.sh
command: npm run start
deploy:
restart_policy:
condition: on-failure
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=1200"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "coop-cloud.${STACK_NAME}.version=2022-08-17+0.1.0"
browserless:
image: browserless/chrome
networks:
- internal
redis:
image: redis:alpine
networks:
- internal
volumes:
- redis_data:/data
volumes:
- redis_data
networks:
internal:
proxy:
external: true
configs:
app_entrypoint:
name: ${STACK_NAME}_app_entrypoint_${APP_ENTRYPOINT_VERSION}
file: entrypoint.sh.tmpl
template_driver: golang

29
entrypoint.sh.tmpl Normal file
View File

@ -0,0 +1,29 @@
#!/bin/bash
set -e
file_env() {
local var="$1"
local fileVar="${var}_FILE"
local def="${2:-}"
if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1
fi
local val="$def"
if [ "${!var:-}" ]; then
val="${!var}"
elif [ "${!fileVar:-}" ]; then
val="$(< "${!fileVar}")"
fi
export "$var"="$val"
unset "$fileVar"
}
# upstream startup command
# https://raw.githubusercontent.com/DIYgod/RSSHub/master/Dockerfile
dumb-init --