https://github.com/Zigl3ur/jellyhub
JellyHub is a web app that indexes all content from multiple Jellyfin servers, allowing you to see which items are available on which server.
https://github.com/Zigl3ur/jellyhub
Last synced: 25 days ago
JSON representation
JellyHub is a web app that indexes all content from multiple Jellyfin servers, allowing you to see which items are available on which server.
- Host: GitHub
- URL: https://github.com/Zigl3ur/jellyhub
- Owner: Zigl3ur
- License: agpl-3.0
- Created: 2025-02-08T20:32:10.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-20T15:56:15.000Z (about 1 month ago)
- Last Synced: 2025-03-20T16:42:19.016Z (about 1 month ago)
- Language: TypeScript
- Homepage: https://hub.docker.com/r/zigleur/jellyhub
- Size: 9.1 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-jellyfin - jellyhub - A web app that indexes media from multiple Jellyfin servers into a single searchable hub, letting you see which server hosts the content you're looking for. (👾 Other)
README
![]()
JellyHub
The jellyfin servers media indexer
About the project
JellyHub is a web app that allow you to fetch media from all of your jellyfin servers and regroup it in one place, so there is one place to search for specific media and tells you on wich server the desired media is located.
Installation
To be able to run JellyHub, first you must have **[Docker](https://www.docker.com/)** installed on your system.
### Docker Compose
Create a file [`docker-compose.yml`](https://github.com/Zigl3ur/jellyhub/blob/main/docker-compose.yml) with the content below.
```yaml
services:
db:
container_name: jellyhub-db
image: postgres:latest
restart: always
environment:
- POSTGRES_USER=user # your postgres user
- POSTGRES_PASSWORD=passwd #Â your postgres password
- POSTGRES_DB=dbname # your postgres database
volumes:
- postgres-data:/var/lib/postgresql/datajellyhub:
container_name: jellyhub
restart: on-failure
depends_on:
- db
environment:
- DATABASE_URL=postgresql://user:passwd@db:5432/dbname?schema=prisma # make it match with the db service
- JWT_SECRET=UOt04FdbvhXtmj3keGP981XUj8vJ3uPb # random string for jwt, change it
- PORT=8888 # optional, default is 3000
ports:
- 8888:8888 # make it match with the specified port above, or 3000 to default
image: zigleur/jellyhub:latestvolumes:
postgres-data:
```Change the env variables to make them fit with your needs and run it with the following command:
`docker compose up -d`### Docker CLI
To run it with the docker cli use the following command with your personnalized env variables.
> [!IMPORTANT]
> With this command you don't have the postgres database so make sure you
> have a reachable one at your `DATABASE_URL````sh
docker run -d --name jellyhub \
--env DATABASE_URL="postgresql://user:passwd@db:5432/dbname?schema=prisma" \
--env JWT_SECRET="random_string" \
--env PORT="8888" \
--restart unless-stopped \
--publish 8888:8888 \
zigleur/jellyhub:latest
```Now you can access the app at http://localhost:8888 _(adapt the host and port depending on how you configured it)_
The default user is `admin` with password `adminadmin`
Screenshots







Personal Note
This project was made to learn NextJS and React, so definitely the code / css could be better and more optimized since I'm a beginner. But for now it works.
Thanks to my friends [@firminunderscore](https://github.com/firminunderscore) [@0x4c756e61](https://github.com/0x4c756e61) and [@Zarox28](https://github.com/Zarox28) for allowing me to test the app on their jellyfin servers.