115 lines
3.8 KiB
YAML
115 lines
3.8 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.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"
|
|
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.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"
|
|
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
|