Files
Docker-Compose/freshrss/docker-compose.yml
2026-02-07 02:38:59 +08:00

118 lines
4.0 KiB
YAML

services:
main:
image: freshrss/freshrss:1.26.3
restart: unless-stopped
logging:
options:
max-size: 10m
volumes:
# Recommended volume for FreshRSS persistent data such as configuration and SQLite databases
- /mnt/docker-storage/freshrss/data:/var/www/FreshRSS/data
# Optional volume for storing third-party extensions
- /mnt/docker-storage/freshrss/extensions:/var/www/FreshRSS/extensions
networks:
- traefik_proxy
- default
ports:
# If you want to open a port 8080 on the local machine:
- "8095:80"
environment:
# A timezone http://php.net/timezones (default is UTC)
TZ: Asia/Taipei
PUID: 2000
PGID: 2000
# Cron job to refresh feeds at specified minutes
CRON_MIN: '5, 35'
# Optional parameter, set to 1 to enable OpenID Connect (only available in our Debian image)
# Requires more environment variables. See https://freshrss.github.io/FreshRSS/en/admins/16_OpenID-Connect.html
OIDC_ENABLED: 1
OIDC_PROVIDER_METADATA_URL: https://auth.dua.casa/application/o/freshrss/.well-known/openid-configuration
OIDC_CLIENT_ID: byBNp5WwEbfd7fsqWrk5Ab4gjYKXkkKCbswedg7k
OIDC_CLIENT_SECRET: caMY7NFP4LYGBbPXqsBdEMU6vYQRy2jrGAzCKo15JMUUgIZ2P8CwnyrMc8jZcf6NQxDUdllbmY31H0fbDnvcNTFEL2Iy9TLVWcR7fywZ8Eyn4jrssWtOCZSIfZ3MgKp8
#OIDC_X_FORWARDED_HEADERS: X-Forwarded-Port X-Forwarded-Proto X-Forwarded-Host
OIDC_X_FORWARDED_HEADERS: X-Forwarded-Proto
OIDC_SCOPES: openid email profile
deploy:
labels:
- homepage.group=Storage
- homepage.name=FreshRSS
- homepage.icon=sh-freshrss-light
- homepage.href=https://rss.dua.casa
- homepage.description=A free, self-hostable feed aggregator.
- homepage.widget.type=freshrss
- homepage.widget.url=https://rss.dua.casa
- homepage.widget.username=hayden0828
- homepage.widget.password=XlRYT2vUV9PHIajtsY566ah7gvoLEOE4
- "traefik.enable=true"
- "traefik.http.routers.freshrss.rule=Host(`rss.apps.dua.casa`)"
- "traefik.http.routers.freshrss.entrypoints=websecure"
- "traefik.http.routers.freshrss.tls=true"
- "traefik.http.routers.freshrss.tls.certresolver=letsencrypt"
- "traefik.http.services.freshrss.loadbalancer.server.port=80"
- "traefik.http.services.freshrss.loadbalancer.server.scheme=https"
rsshub:
image: diygod/rsshub:chromium-bundled
restart: always
user: "2000:2000"
networks:
- traefik_proxy
- default
ports:
- "1200:1200"
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: "redis://redis:6379/"
# Iwara
IWARA_USERNAME: ${IWARA_USERNAME}
IWARA_PASSWORD: ${IWARA_PASSWORD}
# Pixiv Cookie
PIXIV_REFRESHTOKEN: ${PIXIV_REFRESHTOKEN}
PIXIV_BYPASS_CDN: 1
# E-Hentai Cookie
EH_IPB_MEMBER_ID: ${EHENTAI_MEMBER_ID}
EH_IPB_PASS_HASH: ${EHENTAI_PASS_HASH}
EH_SK: ${EHENTAI_SK}
EH_IGNEOUS: ${EHENTAI_IGNEOUS}
# JavDB Cookie
JAVDB_SESSION: ${JAVDB_SESSION}
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.rsshub.rule=Host(`rss-hub.apps.dua.casa`)"
- "traefik.http.routers.rsshub.entrypoints=websecure"
- "traefik.http.routers.rsshub.tls=true"
- "traefik.http.routers.rsshub.tls.certresolver=letsencrypt"
- "traefik.http.services.rsshub.loadbalancer.server.port=1200"
- "traefik.http.services.rsshub.loadbalancer.server.scheme=https"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1200/healthz"]
interval: 60s
timeout: 10s
retries: 3
depends_on:
- redis
redis:
image: redis:alpine
restart: always
user: "2000:2000"
volumes:
- /mnt/docker-storage/freshrss/hub:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 60s
timeout: 10s
retries: 5
start_period: 5s
networks:
traefik_proxy:
external: true