Skip to content

jack

GitHub Release Full documentation jack image jack-ui image

jack lets you and your friends share media libraries with each other through the *arr stack you already run. You point Radarr/Sonarr at jack, search like you would on any indexer, and when a friend has the movie or episode you want, jack pulls it straight from their server into your library — no public trackers, no BitTorrent swarm, just a private peer-to-peer bridge between your media servers.

Built with Bun and Hono.

Full documentation lives at jack.roz.ninja.

Quick start (Docker Compose)

Two images are published to GitHub Container Registry on every push to main — the backend (ghcr.io/roziscoding/jack:main) and the management UI (ghcr.io/roziscoding/jack-ui:main) — so you don't need to clone the repo. Grab examples/docker-compose.yml and examples/config.jsonc, drop them in a folder, then:

# 1. Create your config from the template
mkdir -p config
cp config.jsonc config/config.jsonc   # the template you downloaded
$EDITOR config/config.jsonc           # fill in your servers and peers

# 2. Set a management key (gates the management API + the UI's access to it)
echo "JACK_MANAGEMENT_KEY=$(openssl rand -base64 32)" > .env

# 3. Pull and run
docker compose up -d

The management UI comes up at http://localhost:3000. For volume mounts, networking, and the path gotchas that make grabs import correctly, follow the getting started guide.

Documentation

Contributing

See CONTRIBUTING.md for the development setup, project layout, and how to run tests and lint. Found a vulnerability? Report it privately as described in SECURITY.md.

Support

jack costs nothing to run and takes no donations — if it's been useful to you, FUNDING.md tells you what I'd love instead.

License

GPL-3.0

About

Share media libraries with friends through your *arr stack, peer-to-peer.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages