feat: altmount, easynews-indexer, nzbdav, usenet-streamer

closes #51
This commit is contained in:
Viren070
2025-11-09 15:54:00 +00:00
parent 022ae2b8de
commit 8870c572da
11 changed files with 158 additions and 0 deletions
+3
View File
@@ -120,6 +120,7 @@ AIOLISTS_HOSTNAME=aiolists.${DOMAIN?}
AIOMETADATA_HOSTNAME=aiometadata.${DOMAIN?}
AIOSTREAMS_HOSTNAME=aiostreams.${DOMAIN}
AIOSTREMIO_HOSTNAME=aiostremio.${DOMAIN}
ALTMOUNT_HOSTNAME=altmount.${DOMAIN}
ANIME_KITSU_HOSTNAME=kitsu.${DOMAIN}
APPRISE_HOSTNAME=apprise.${DOMAIN}
ARCANE_HOSTNAME=arcane.${DOMAIN}
@@ -159,6 +160,7 @@ MINECRAFT_HOSTNAME=mc.${DOMAIN}
NITTER_HOSTNAME=nitter.${DOMAIN}
NOTIFIARR_HOSTNAME=notifiarr.${DOMAIN}
NTFY_HOSTNAME=ntfy.${DOMAIN}
NZBDAV_HOSTNAME=nzbdav.${DOMAIN}
NZBHYDRA2_HOSTNAME=nzbhydra2.${DOMAIN}
OMG_TV_STREMIO_ADDON_HOSTNAME=omg-tv-addon.${DOMAIN}
OVERSEERR_HOSTNAME=overseerr.${DOMAIN}
@@ -200,6 +202,7 @@ TMDB_COLLECTIONS_HOSTNAME=tmdb-collections.${DOMAIN}
TORBOX_MANAGER_HOSTNAME=tbm.${DOMAIN}
TRAEFIK_HOSTNAME=traefik.${DOMAIN}
UPTIME_KUMA_HOSTNAME=status.${DOMAIN}
USENET_STREAMER_HOSTNAME=usenet-streamer.${DOMAIN}
VAULTWARDEN_HOSTNAME=vaultwarden.${DOMAIN}
WALLOS_HOSTNAME=wallos.${DOMAIN}
WEBSTREAMR_HOSTNAME=webstreamr.${DOMAIN}
+32
View File
@@ -0,0 +1,32 @@
services:
altmount:
image: ghcr.io/javi11/altmount:latest
container_name: altmount
restart: unless-stopped
expose:
- 8080
devices:
- /dev/fuse:/dev/fuse:rwm
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
environment:
- PUID=${PUID}
- PGID=${PGID}
- PORT=8080
- COOKIE_DOMAIN=${ALTMOUNT_HOSTNAME}
labels:
- "traefik.enable=true"
- "traefik.http.routers.altmount.rule=Host(`${ALTMOUNT_HOSTNAME?}`)"
- "traefik.http.routers.altmount.entrypoints=websecure"
- "traefik.http.routers.altmount.tls.certresolver=letsencrypt"
- "traefik.http.routers.altmount.middlewares=authelia@docker"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config:/config
profiles:
- altmount
- all
+3
View File
@@ -41,11 +41,14 @@ services:
${SYNCRIBULLET_HOSTNAME},
${TMDB_ADDON_HOSTNAME},
${TMDB_COLLECTIONS_HOSTNAME},
${USENET_STREAMER_HOSTNAME},
${WEBSTREAMR_HOSTNAME}
TEMPLATE_FRESHRSS_HOSTNAME: ${FRESHRSS_HOSTNAME?}
TEMPLATE_KARAKEEP_HOSTNAME: ${KARAKEEP_HOSTNAME?}
TEMPLATE_ACTUAL_BUDGET_HOSTNAME: ${ACTUAL_BUDGET_HOSTNAME?}
TEMPLATE_TANDOOR_HOSTNAME: ${TANDOOR_HOSTNAME?}
TEMPLATE_ALTMOUNT_HOSTNAME: ${ALTMOUNT_HOSTNAME?}
TEMPLATE_NZBDAV_HOSTNAME: ${NZBDAV_HOSTNAME?}
labels:
- "traefik.enable=true"
- "traefik.http.routers.authelia.rule=Host(`${AUTHELIA_HOSTNAME?}`)"
+13
View File
@@ -734,6 +734,19 @@ access_control:
- domain_regex: '^({{ env "TEMPLATE_STREMIO_ADDON_HOSTNAMES" | replace "," "|" | replace "." "\\." | replace " " "" }})$'
policy: 'bypass'
- domain: '{{ env "TEMPLATE_NZBDAV_HOSTNAME" }}'
policy: 'bypass'
resources:
- '^/api.*$'
- '^/content.*$'
- '^/$'
- domain: '{{ env "TEMPLATE_ALTMOUNT_HOSTNAME" }}'
policy: 'bypass'
resources:
- '^/sabnzbd\/api.*$'
- '^/webdav.*$'
## FreshRSS API endpoints bypass authentication for RSS reader apps
- domain: '{{ env "TEMPLATE_FRESHRSS_HOSTNAME" }}'
resources:
+3
View File
@@ -19,6 +19,7 @@ services:
${AIOMETADATA_HOSTNAME},
${AIOSTREAMS_HOSTNAME},
${AIOSTREMIO_HOSTNAME},
${ALTMOUNT_HOSTNAME},
${ANIME_KITSU_HOSTNAME},
${APPRISE_HOSTNAME},
${ARCANE_HOSTNAME},
@@ -58,6 +59,7 @@ services:
${NITTER_HOSTNAME},
${NOTIFIARR_HOSTNAME},
${NTFY_HOSTNAME},
${NZBDAV_HOSTNAME},
${NZBHYDRA2_HOSTNAME},
${OMG_TV_STREMIO_ADDON_HOSTNAME},
${OVERSEERR_HOSTNAME},
@@ -99,6 +101,7 @@ services:
${TORBOX_MANAGER_HOSTNAME},
${TRAEFIK_HOSTNAME},
${UPTIME_KUMA_HOSTNAME},
${USENET_STREAMER_HOSTNAME},
${VAULTWARDEN_HOSTNAME},
${WALLOS_HOSTNAME},
${WEBSTREAMR_HOSTNAME},
+10
View File
@@ -0,0 +1,10 @@
PORT=8081
# Easynews Credentials
EASYNEWS_USER=your_easynews_username
EASYNEWS_PASS=your_easynews_password
# Set any API Key you want here to protect access to the indexer, you would use it as the API Key when adding the indexer to the application you want to use it with (e.g. NZBHydra, AIOStreams, etc.)
NEWZNAB_API_KEY=testkey
# Note: easynews-indexer will not be exposed publicly via Traefik. You can simply use http://easynews-indexer:8081 which is accessible by all other containers / apps.
+12
View File
@@ -0,0 +1,12 @@
services:
easynews-indexer:
image: ghcr.io/sanket9225/easynewsindexer
container_name: easynews-indexer
restart: unless-stopped
expose:
- ${PORT}
env_file:
- .env
profiles:
- easynews-indexer
- all
+21
View File
@@ -0,0 +1,21 @@
services:
nzbdav:
image: nzbdav/nzbdav:alpha
container_name: nzbdav
restart: unless-stopped
expose:
- 3000
environment:
- "PUID=${PUID}"
- "PGID=${PGID}"
labels:
- "traefik.enable=true"
- "traefik.http.routers.nzbdav.rule=Host(`${NZBDAV_HOSTNAME?}`)"
- "traefik.http.routers.nzbdav.entrypoints=websecure"
- "traefik.http.routers.nzbdav.tls.certresolver=letsencrypt"
- "traefik.http.routers.nzbdav.middlewares=authelia@docker"
volumes:
- ./config:/config
profiles:
- nzbdav
- all
+38
View File
@@ -0,0 +1,38 @@
# For the most up-to-date documentation and variables, see https://github.com/Sanket9225/UsenetStreamer/#environment-variables
# ------- USENET STREAMER CONFIGURATION -------
ADDON_BASE_URL=https://${USENET_STREAMER_HOSTNAME?}
# Set a token here which protects access to the addon. Whatever you set here will be used as a part of the manifest you should install to Stremio / AIOStreams.
# e.g. with 'change-me' as the secret the manifest url will be: https://${USENET_STREAMER_HOSTNAME?}/change-me/manifest.json
ADDON_SHARED_SECRET=change-me
# ------- NZB DAV CONFIGURATION -------
# These are the details for your nzbDAV instance which Usenet Streamer needs.
NZBDAV_URL=http://nzbdav:3000
NZBDAV_WEBDAV_URL=http://nzbdav:3000
# Obtain this from the Web UI of nzbDAV under Settings -> SABnzbd -> API Key
NZBDAV_API_KEY=
# Obtain your WebDAV username and password from nzbDAV under Settings -> WebDAV -> WebDAV Username / Password
# (Do not use your nzbDAV login credentials here, unless you set the WebDAV username and password to be the same as your login credentials)
NZBDAV_WEBDAV_USER=
NZBDAV_WEBDAV_PASSWORD=
# ------- INDEXER MANAGER CONFIGURATION -------
# These are the details of the indexer manager you want Usenet Streamer to use to get NZB files from indexers.
# You can choose either: prowlarr or nzbhydra2
INDEXER_MANAGER=prowlarr
INDEXER_MANAGER_URL=http://prowlarr:9696
# Provide the API key for your indexer manager here. You can get this from the Web UI of your indexer manager.
INDEXER_MANAGER_API_KEY=
# Control which indexers are used.
# For Prowlarr, provide the numeric Indexer IDs separated by commas.
# For NZBHydra2, provide the names of the indexers as configured in NZBHydra2 separated by commas.
# Leave empty to use all configured indexers.
INDEXER_MANAGER_INDEXERS=
+19
View File
@@ -0,0 +1,19 @@
services:
usenet-streamer:
image: ghcr.io/sanket9225/usenetstreamer:latest
container_name: usenet_streamer
restart: unless-stopped
expose:
- 7000
env_file:
- .env
labels:
- "traefik.enable=true"
- "traefik.http.routers.usenet-streamer.rule=Host(`${USENET_STREAMER_HOSTNAME?}`)"
- "traefik.http.routers.usenet-streamer.entrypoints=websecure"
- "traefik.http.routers.usenet-streamer.tls.certresolver=letsencrypt"
- "traefik.http.routers.usenet-streamer.middlewares=authelia@docker"
- "traefik.http.services.usenet-streamer.loadbalancer.server.port=7000"
profiles:
- usenet-streamer
- all
+4
View File
@@ -6,6 +6,7 @@ include:
- apps/aiometadata/compose.yaml
- apps/aiostreams/compose.yaml
- apps/aiostremio/compose.yaml
- apps/altmount/compose.yaml
- apps/anime-kitsu/compose.yaml
- apps/apprise/compose.yaml
- apps/arcane/compose.yaml
@@ -24,6 +25,7 @@ include:
- apps/discord-tickets/compose.yaml
- apps/dockge/compose.yaml
- apps/dozzle/compose.yaml
- apps/easynews-indexer/compose.yaml
- apps/easynews-plus/compose.yaml
- apps/easynews-plus-plus/compose.yaml
- apps/fivefilters-full-text-rss/compose.yaml
@@ -49,6 +51,7 @@ include:
- apps/nitter/compose.yaml
- apps/notifiarr/compose.yaml
- apps/ntfy/compose.yaml
- apps/nzbdav/compose.yaml
- apps/nzbhydra2/compose.yaml
- apps/omg-tv-addon/compose.yaml
- apps/overseerr/compose.yaml
@@ -92,6 +95,7 @@ include:
- apps/traefik/compose.yaml
- apps/tweakio/compose.yaml
- apps/uptime-kuma/compose.yaml
- apps/usenet-streamer/compose.yaml
- apps/vaultwarden/compose.yaml
- apps/wallos/compose.yaml
- apps/warp/compose.yaml