FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
jack/examples/docker-compose.yml at main · roziscoding/jack · GitHub
roziscoding
/
jack
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
30
Code
Issues
0
Pull requests
3
Actions
Security and quality
1
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
jack
/
examples
/
docker-compose.yml
Copy path
More file actions
More file actions
Latest commit
History
History
History
82 lines (81 loc) · 4.41 KB
Breadcrumbs
jack
/
examples
/
docker-compose.yml
Copy path
File metadata and controls
82 lines (81 loc) · 4.41 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
services
:
jack
:
#
Pre-built image published to GitHub Container Registry on every push to main.
image
:
ghcr.io/roziscoding/jack:main
container_name
:
jack
restart
:
unless-stopped
ports
:
-
'
${JACK_PORT:-5225}:5225
'
environment
:
#
production disables pino-pretty and emits structured JSON logs
ENVIRONMENT
:
production
LOG_LEVEL
:
info
PORT
:
5225
APP_CONFIG_PATH
:
/config/config.jsonc
#
Enables the management API (on MANAGEMENT_PORT, default 5226) that the
#
jack-ui service talks to. The UI injects this same value as its
#
X-Management-Key, so both read one variable and always match. To run jack
#
headless, drop the jack-ui service below and this line.
JACK_MANAGEMENT_KEY
:
${JACK_MANAGEMENT_KEY:?set JACK_MANAGEMENT_KEY in a .env file next to this compose (any long random string)}
#
*arr API keys, forwarded from .env so config.jsonc can reference them
#
as { "env": "RADARR_API_KEY" } instead of inlining the secret. Add one
#
line per env-referenced secret; unused ones can stay empty.
RADARR_API_KEY
:
${RADARR_API_KEY:-}
SONARR_API_KEY
:
${SONARR_API_KEY:-}
volumes
:
#
App config. Drop your config.jsonc in a ./config dir next to this file
#
(start from the config.jsonc template in this examples/ folder).
-
./config:/config
#
Media library. jack streams files to peers using the absolute path each
#
Radarr/Sonarr stores for the file (i.e. the path INSIDE the *arr
#
container), so jack must see those files at that SAME path. The
#
`/data/media` target below is a placeholder — change it to match your
#
*arr's media path(s), and add one mount per path if they use several
#
(e.g. /movies and /tv).
-
${MEDIA_PATH:-./data/media}:/data/media
#
Completed downloads dir — must match `downloads.completedPath` in
#
config.jsonc. IMPORTANT: mount this SAME folder into your Radarr and
#
Sonarr containers at the SAME path (e.g. /data/torrents). jack writes
#
finished files here and *arr resolves that literal path in its own
#
filesystem to import them — if they don't match, *arr can't import.
#
(No watch folder: *arr hands grabs to jack over the qBittorrent API.)
-
${TORRENTS_PATH:-./data/torrents}:/data/torrents
#
If Radarr / Sonarr are defined in this same compose file, wait for them to
#
be healthy before starting jack. Auto-registration only runs at startup, so
#
this makes the Torznab indexer + qBittorrent client register on first boot
#
instead of needing a jack restart. (Needs `healthcheck` blocks on those
#
services — the linuxserver.io images ship with them.)
#
depends_on:
#
radarr: {condition: service_healthy}
#
sonarr: {condition: service_healthy}
#
If Radarr / Sonarr run in their own compose network, attach this service
#
to it so `jack.internalUrl` / server URLs resolve by container name.
#
Otherwise reach them via host IP.
#
networks:
#
- media
#
Management console. Published alongside the backend on every push to main. Open it at http://localhost:3000.
jack-ui
:
image
:
ghcr.io/roziscoding/jack-ui:main
container_name
:
jack-ui
restart
:
unless-stopped
depends_on
:
-
jack
ports
:
-
'
${JACK_UI_PORT:-3000}:3000
'
environment
:
#
The UI reaches jack's management API over the compose network by service
#
name. Must match jack's MANAGEMENT_PORT (default 5226). No host port for
#
5226 is published — the UI is the only thing that needs it.
JACK_MANAGEMENT_API_URL
:
http://jack:5226
#
Inject mode: the BFF adds X-Management-Key on every call, so the browser is
#
never prompted. Same variable as jack's JACK_MANAGEMENT_KEY above, so they match.
JACK_MANAGEMENT_KEY
:
${JACK_MANAGEMENT_KEY:?set JACK_MANAGEMENT_KEY in a .env file next to this compose (any long random string)}
#
Only used in cookie-prompt mode (when JACK_MANAGEMENT_KEY is unset): seals
#
the session cookie and must be >= 32 chars. Left unset here because this
#
compose runs in inject mode, where sessions aren't used. If you switch to
#
cookie mode (remove JACK_MANAGEMENT_KEY above), uncomment this so a real
#
key is required — an empty value would break cookie sealing.
#
JACK_SESSION_KEY: ${JACK_SESSION_KEY:?set a >= 32-char random string for cookie mode}
#
networks:
#
media:
#
external: true
Back
|
FazBrowse Home
|
New Git URL