Media server for NAS: Emby and Jellyfin API for Infuse, SenPlayer, VidHub. Fast on huge libraries.
662
Your library, beautifully played. Kryspal Media is a self-hosted media server for people who use 3rd-party players for Emby and Jellyfin, such as Infuse, VidHub and SenPlayer. Keep your players, bring your library.
Latest release: 0.9.11-betaโ ยท 2026-10-27
This is the server image. It runs together with the database image kryspal/kryspalmedia-postgresโ , and the Compose file below starts both.
.strm files that point to your own cloud drive.Some features need a paid plan; see Plansโ .
You need Docker 24 or newer with Compose v2, on a 64-bit Linux host.
compose.yaml in an empty folder./path/to/media with the folder that holds your media. Add one line per extra media folder (the commented lines show the pattern).docker compose up -d.http://<host>:5797 and create the first administrator in the setup wizard, then add your libraries in the admin console.services:
server:
image: kryspal/kryspalmedia:latest
restart: unless-stopped
stop_grace_period: 60s
ports:
- "5797:5797" # LAN
- "5798:5798" # WAN
# - "7359:7359/udp" # discovery
environment:
EXTERNAL_HTTP_ADDR: ":5798" # WAN
volumes:
- /path/to/media:/media
# 2+ folders: use these instead
# - /mnt/movies:/media/mnt/movies
# - /mnt/tv:/media/mnt/tv
- data:/var/lib/mediaserver
- db:/var/lib/kryspal-db:ro
depends_on:
- postgres
postgres:
image: kryspal/kryspalmedia-postgres:16
restart: unless-stopped
stop_grace_period: 60s
volumes:
- pgdata:/var/lib/postgresql/data
- db:/var/lib/kryspal-db
volumes:
data:
pgdata:
db:
There is no .env file and no variable to set. The database password is generated on the first start and shared between the two containers through the db volume.
The media folder is mounted read-write on purpose: subtitle download and NFO write-back, both optional and off by default, write next to your video files. The server writes there only when you turn those features on.
On a Linux host or VPS you can also use the install script, which writes the same Compose file, starts it and waits until the server is healthy. Read it before you run it:
curl -fsSL https://media.kryspal.net/install.sh -o install.sh
less install.sh
bash install.sh --media /srv/media
NAS users can paste the Compose file into the container manager of their NAS.
| Port | Use |
|---|---|
| 5797/tcp | HTTP for players, the web player and the admin console. |
| 5798/tcp | External-only port. Forward only this port on your router: requests that arrive on it count as coming from outside your home network. |
| 7359/udp | Automatic discovery of the server by players on your local network. Commented out by default, because other media servers such as Emby and Jellyfin also use this port. Remove the # only if nothing else on the host uses it. |
PostgreSQL does not publish a port to the host. For remote access, put a reverse proxy with HTTPS in front of port 5797.
The Compose file creates three named volumes:
data: the server's settings and data (/var/lib/mediaserver).pgdata: the PostgreSQL database.db: the generated database password, shared by the two containers.Your media folders are not touched by the container. Files the server writes there, such as downloaded subtitles and NFO files, stay where they are. docker compose down keeps your data; docker compose down -v deletes the volumes.
Details: Upgrade and back upโ .
To upgrade:
docker compose pull
docker compose up -d
Beta upgrades can change the database in ways that cannot be rolled back, so export it first with pg_dump.
linux/amd64 and linux/arm64. Docker pulls the right one for your host.
| Tag | Meaning |
|---|---|
<version> | One exact release, for example the one under Latest release above. Version tags never move. |
beta | The newest beta release. |
latest | The newest release. While Kryspal Media is in beta, this is the newest beta; after the first stable release it follows stable releases only. |
Stable releases will also carry <major>.<minor> and <major> tags. Kryspal Media is currently in beta.
[security] in the subject. Please do not post vulnerabilities in public issues.Kryspal Media is proprietary software. The FREE plan costs nothing; see Plansโ for what PRO and MAX add. Third-party components and their licenses are listed in NOTICE.md, attached to each release. The source code is not published.
Content type
Image
Digest
sha256:d15379d19โฆ
Size
140.6 MB
Last updated
about 8 hours ago
docker pull kryspal/kryspalmedia