System requirements
Kryspal Media runs in Docker on a 64-bit Linux host or NAS. This page lists what the host needs: software, memory, disk space, and how your library and network should be set up.
Software#
- Docker with Docker Compose v2.
- A 64-bit Linux host. The images target x86 (linux/amd64) and ARM (linux/arm64).
- Nothing else on the host. The server is a single static binary. You do not install ffmpeg, PostgreSQL or any other package yourself.
The image already includes ffmpeg and ffprobe. They are used only to extract subtitles, to read media info as a fallback, to direct-stream video in the web player, and to convert audio when the browser cannot play an audio format. Kryspal Media never transcodes video. PostgreSQL 16 (with the Chinese search extension) comes as a second container, so you do not prepare a database.
Memory#
- Recommended: 4 GB or more.
- 2 GB also works. Lower PostgreSQL's
shared_buffersandeffective_cache_size(for example to 512 MB and 1 GB).
Disk space#
Reserve 20 GB or more for the database, the image cache and backups, preferably on an SSD. The media files themselves can stay on spinning disks or a network mount.
CPU#
There is no video transcoding, so you do not need a strong CPU. Scanning, poster thumbnails and reading media info are the main load. A weak NAS works; the first scan of a large library just takes longer.
Your media files#
- Local files. Your media folders are read-only by default. Kryspal writes to them or deletes files in them only when you turn on subtitle download, Write back NFO and images, or Allow deletion on a library.
- strm files and cloud drives. The address inside a .strm file must be reachable from inside the container. A LAN IP address works. A host name that exists only in the host's
/etc/hostsdoes not resolve inside the container. - Permissions. The server runs as the container's default user. On a NAS that uses file ACLs (such as Synology), add
user: "<uid>:<gid>"to theserverservice, using the library owner'sid -uand the primary group'sid -g; that identity must be able to read the library. See the install page.
Live monitoring (inotify)#
Live monitoring on Linux uses about one watch per library folder. A large library can exceed the host's default limit. When that happens, the server falls back to scheduled scans automatically. Nothing breaks; new files just show up a little later. You can raise the host's inotify watch limit if you want live updates.
Network#
- On your local network, plain HTTP is fine.
- For access from outside, put a reverse proxy with HTTPS in front, or use a VPN. Kryspal Media does not add public-internet protection of its own.
Players#
Infuse, SenPlayer and other 3rd-party players that work with Emby or Jellyfin, plus the built-in Kryspal web player and the admin console.