Skip to content

Commit edb00ed

Browse files
committed
feat: add Usenet-Ultimate
1 parent 0fd16c5 commit edb00ed

6 files changed

Lines changed: 158 additions & 0 deletions

File tree

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ TORBOX_MANAGER_HOSTNAME=tbm.${DOMAIN}
205205
TRAEFIK_HOSTNAME=traefik.${DOMAIN}
206206
UPTIME_KUMA_HOSTNAME=status.${DOMAIN}
207207
USENET_STREAMER_HOSTNAME=usenet-streamer.${DOMAIN}
208+
USENET_ULTIMATE_HOSTNAME=usenet-ultimate.${DOMAIN}
208209
VAULTWARDEN_HOSTNAME=vaultwarden.${DOMAIN}
209210
WALLOS_HOSTNAME=wallos.${DOMAIN}
210211
WEBSTREAMR_HOSTNAME=webstreamr.${DOMAIN}

apps/authelia/compose.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ services:
2727
${EASYNEWS_PLUS_HOSTNAME},
2828
${EASYNEWS_PLUS_PLUS_HOSTNAME},
2929
${MEDIAFUSION_HOSTNAME},
30+
${NZBDAV_HOSTNAME?},
3031
${JACKETTIO_HOSTNAME},
3132
${PLEXIO_HOSTNAME},
3233
${STREMIO_AI_COMPANION_HOSTNAME},
@@ -42,6 +43,7 @@ services:
4243
${TMDB_ADDON_HOSTNAME},
4344
${TMDB_COLLECTIONS_HOSTNAME},
4445
${USENET_STREAMER_HOSTNAME},
46+
${USENET_ULTIMATE_HOSTNAME},
4547
${WEBSTREAMR_HOSTNAME}
4648
TEMPLATE_FRESHRSS_HOSTNAME: ${FRESHRSS_HOSTNAME?}
4749
TEMPLATE_KARAKEEP_HOSTNAME: ${KARAKEEP_HOSTNAME?}

apps/cloudflare-ddns/compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ services:
104104
${TRAEFIK_HOSTNAME},
105105
${UPTIME_KUMA_HOSTNAME},
106106
${USENET_STREAMER_HOSTNAME},
107+
${USENET_ULTIMATE_HOSTNAME},
107108
${VAULTWARDEN_HOSTNAME},
108109
${WALLOS_HOSTNAME},
109110
${WEBSTREAMR_HOSTNAME},

apps/usenet-ultimate/.env

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# ============================================================================================================================ #
2+
# ██╗ ██╗███████╗███████╗███╗ ██╗███████╗████████╗ ██╗ ██╗██╗ ████████╗██╗███╗ ███╗ █████╗ ████████╗███████╗ #
3+
# ██║ ██║██╔════╝██╔════╝████╗ ██║██╔════╝╚══██╔══╝ ██║ ██║██║ ╚══██╔══╝██║████╗ ████║██╔══██╗╚══██╔══╝██╔════╝ #
4+
# ██║ ██║███████╗█████╗ ██╔██╗ ██║█████╗ ██║ ██║ ██║██║ ██║ ██║██╔████╔██║███████║ ██║ █████╗ #
5+
# ██║ ██║╚════██║██╔══╝ ██║╚██╗██║██╔══╝ ██║ ██║ ██║██║ ██║ ██║██║╚██╔╝██║██╔══██║ ██║ ██╔══╝ #
6+
# ╚██████╔╝███████║███████╗██║ ╚████║███████╗ ██║ ╚██████╔╝███████╗ ██║ ██║██║ ╚═╝ ██║██║ ██║ ██║ ███████╗ #
7+
# ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝ #
8+
# ============================================================================================================================ #
9+
#
10+
# For the most up-to-date documentation and variables, see https://github.com/DSmart33/Usenet-Ultimate
11+
#
12+
# All env var overrides follow the priority: env var > config.json > default.
13+
# Active overrides are logged at startup.
14+
#
15+
# ==============================================================================
16+
# ESSENTIAL ADDON SETUP
17+
# ==============================================================================
18+
19+
# Base URL for the application (used in manifests, stream URLs, and NZB proxy links)
20+
# Must be publicly accessible if using with Stremio remotely
21+
BASE_URL=https://${USENET_ULTIMATE_HOSTNAME?}
22+
23+
# HTTP server port
24+
PORT=1337
25+
26+
# ==============================================================================
27+
# INDEXER CONFIGURATION (ONE-TIME MIGRATION)
28+
# ==============================================================================
29+
# These values are migrated to config.json on first startup.
30+
# After initial setup, manage indexers through the web UI instead.
31+
32+
# Single indexer
33+
#INDEXER_URL=https://your-indexer.com
34+
#INDEXER_API_KEY=your-api-key-here
35+
36+
# Multiple indexers (comma-separated)
37+
#INDEXER_URL=https://indexer1.com,https://indexer2.com
38+
#INDEXER_API_KEY=key1,key2
39+
40+
# ==============================================================================
41+
# CACHE CONFIGURATION
42+
# ==============================================================================
43+
# Also migrated to config.json on first startup; manage via web UI after that.
44+
45+
# Search result cache TTL in seconds (default: 43200 = 12 hours; 0 disables caching)
46+
#CACHE_TTL=43200
47+
48+
# ==============================================================================
49+
# INDEX MANAGER
50+
# ==============================================================================
51+
# Runtime overrides — these always take priority over config.json / web UI values.
52+
53+
# Indexer manager type (options: newznab, prowlarr, nzbhydra)
54+
#INDEX_MANAGER=prowlarr
55+
56+
# Prowlarr connection
57+
#PROWLARR_URL=http://prowlarr:9696
58+
#PROWLARR_API_KEY=your-prowlarr-api-key
59+
60+
# NZBHydra connection
61+
#NZBHYDRA_URL=http://nzbhydra:5076
62+
#NZBHYDRA_API_KEY=your-nzbhydra-api-key
63+
64+
# ==============================================================================
65+
# NZBDAV CONNECTION
66+
# ==============================================================================
67+
68+
# NZBDav API and WebDAV configuration
69+
#NZBDAV_URL=http://nzbdav:3000
70+
#NZBDAV_API_KEY=your-nzbdav-api-key
71+
#NZBDAV_WEBDAV_URL=http://nzbdav:3000
72+
#NZBDAV_WEBDAV_USER=admin
73+
#NZBDAV_WEBDAV_PASS=your-webdav-password
74+
75+
# ==============================================================================
76+
# BUILT-IN EASYNEWS INDEXER
77+
# ==============================================================================
78+
79+
# Easynews integration (optional)
80+
#EASYNEWS_ENABLED=false
81+
#EASYNEWS_USERNAME=your-easynews-username
82+
#EASYNEWS_PASSWORD=your-easynews-password
83+
84+
# ==============================================================================
85+
# STREAMING CONFIGURATION
86+
# ==============================================================================
87+
88+
# Streaming mode (options: nzbdav, stremio)
89+
#STREAMING_MODE=nzbdav
90+
91+
# Stream buffer size in megabytes (reduces micro-stalls on high-bitrate content)
92+
# Priority: STREAM_BUFFER_MB env var > config UI setting > 64 MB default
93+
#STREAM_BUFFER_MB=64
94+
95+
# ==============================================================================
96+
# HTTP PROXY
97+
# ==============================================================================
98+
99+
# Proxy mode (options: disabled, http)
100+
#PROXY_MODE=disabled
101+
#PROXY_URL=http://your-proxy:8080
102+
103+
# ==============================================================================
104+
# NZB HEALTH CHECK
105+
# ==============================================================================
106+
107+
# Zyclops verification service endpoint (for NZB health checking)
108+
# Override to point at a self-hosted Zyclops instance
109+
#ZYCLOPS_ENDPOINT=https://zyclops.elfhosted.com
110+
111+
# NNTP-level health checks — define a primary Usenet provider via env vars
112+
# When HEALTH_CHECK_NNTP_HOST is set, it is prepended to any providers in config.json
113+
#HEALTH_CHECK_ENABLED=true
114+
#HEALTH_CHECK_NNTP_HOST=news.your-provider.com
115+
#HEALTH_CHECK_NNTP_PORT=563
116+
#HEALTH_CHECK_NNTP_TLS=true
117+
#HEALTH_CHECK_NNTP_USER=your-usenet-username
118+
#HEALTH_CHECK_NNTP_PASS=your-usenet-password
119+
120+
# ==============================================================================
121+
# ADMIN / MAINTENANCE
122+
# ==============================================================================
123+
124+
# One-time password reset (remove after restart)
125+
# Format with username: RESET_PASSWORD=username:newpassword
126+
# Single-user shorthand: RESET_PASSWORD=newpassword
127+
#RESET_PASSWORD=

apps/usenet-ultimate/compose.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
services:
2+
usenet-ultimate:
3+
image: ghcr.io/dsmart33/usenet-ultimate:latest
4+
container_name: usenet-ultimate
5+
restart: unless-stopped
6+
expose:
7+
- 1337
8+
env_file:
9+
- .env
10+
labels:
11+
- "traefik.enable=true"
12+
- "traefik.http.routers.usenet-ultimate.rule=Host(`${USENET_ULTIMATE_HOSTNAME?}`)"
13+
- "traefik.http.routers.usenet-ultimate.entrypoints=websecure"
14+
- "traefik.http.routers.usenet-ultimate.tls.certresolver=letsencrypt"
15+
- "traefik.http.routers.usenet-ultimate.middlewares=authelia@docker"
16+
- "traefik.http.services.usenet-ultimate.loadbalancer.server.port=1337"
17+
logging:
18+
driver: "json-file"
19+
options:
20+
max-size: "10m"
21+
max-file: "1"
22+
volumes:
23+
- ${DOCKER_DATA_DIR}/usenet-ultimate:/app/config:z
24+
profiles:
25+
- usenet-ultimate
26+
- all

compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ include:
9898
- apps/tweakio/compose.yaml
9999
- apps/uptime-kuma/compose.yaml
100100
- apps/usenet-streamer/compose.yaml
101+
- apps/usenet-ultimate/compose.yaml
101102
- apps/vaultwarden/compose.yaml
102103
- apps/wallos/compose.yaml
103104
- apps/warp/compose.yaml

0 commit comments

Comments
 (0)