Repository navigation
Releases
Kryspal Media 0.9.16
Kryspal Media 0.9.16
Released 2026-11-06 · channel: stable
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.16 (also :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Discover
- Discover: a new page in the web player to browse and search titles that are not in your library yet, and request them through a plugin. Needs a plugin that provides it, and an administrator turns it on for each member
- Seerr connector: in the official plugin catalog, not installed with the server. Requests are made as the member, with a status on each title and a My requests list
- Recommendations: off by default. An administrator allows library hints for each plugin, and each member can turn off sharing their watch history
Library
- Rule collections (PRO): a collection that fills itself from rules such as genre, year, resolution or rating, with its own poster and background
- Versions: rename a version and choose the primary one from an item's files tab
Server
- External tools: API keys can be limited to one purpose (including read-only library lookups and syncing), and webhooks send version.added and version.removed
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.16), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.15
Kryspal Media 0.9.15
Released 2026-11-03 · channel: stable
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.15 (also :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Watching
- Playlists: build your own lists of movies, episodes and whole series from Favorites in the web player, and import them from Emby and Jellyfin
- The player tells offline storage from a deleted file, and retries by itself when the storage comes back
Server
- Install: new --bind option for VPS installs, and an upgrade repairs a server that lost its network after a restart
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.15), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.14
Kryspal Media 0.9.14
Released 2026-10-31 · channel: stable
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.14 (also :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Watching
- Continue watching shows only the latest episode you watched of each series (in our web player and apps; other players are unchanged)
- Web player: the volume shows on screen when you change it with the arrow keys, and Media info shows the hls.js version
Server
- PostgreSQL 18 is supported, including the official image
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.14), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.13
Kryspal Media 0.9.13
Released 2026-10-29 · channel: stable
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.13 (also :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Watching
- Search takes several words in any order, and a phrase in quotes; your last 20 searches are kept so you can run one again or delete it
- "Still watching?": after several episodes in a row with no action from you, the player pauses and asks; choose off, 2, 3 or 5 episodes
- Frame stepping: press . or , to go one frame forward or back
- Remove a series from Next up; watching a new episode of it brings it back
- Subtitles start a little larger, the same as in the apps
- Image subtitles (PGS) now move out of the way only for the part the control bar covers
Apps and devices
- The Kryspal apps switch to your local network by themselves at home: the first time an administrator opens the admin console at home, the LAN discovery address is filled in for you
Fixes
- Updating a member's profile without sending the permission settings no longer clears the existing ones, such as the administrator role
- Clearing the "app check failed" notice no longer crashes the server
- A disc image (ISO) on cloud storage no longer loses its disc info after a rescan; the ones already affected are read again before playback
- Continuous scraping now handles titles marked as needing a new scrape, and the "gave up" notice goes away by itself once they recover
- Paging through search results is faster
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.13), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.12-beta
Kryspal Media 0.9.12-beta
Released 2026-10-28 · channel: beta
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.12-beta (also :beta, :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Ratings and poster badges
- Trakt is now built in: it syncs watch history and adds Trakt community ratings to movies and series. There is nothing to install from the plugin center; each member's own Trakt connection works as before
Watching
- Continue watching also lists titles you finished and then started again, like Emby; a card with progress shows only the progress bar and the time left
- Previous and Next episode buttons, with Shift+P and Shift+N: at the end of a season playback goes on to the next season that has episodes, and skips specials
- Hide spoilers, off by default: episodes you have not watched get a blurred still and a folded synopsis
- An episode page shows the episode's own still beside the title
- Theme and light or dark apply only to the device you set them on
Your library
- A plugin can name each version of a title, and the name you write yourself ("title - version") still comes first
Admin console
- When a plugin cannot be installed the plugin page says why
- A plugin loaded from the developer directory shows where it comes from instead of install and uninstall buttons
- Trakt and Bangumi plugins show their own icons
- Changing the address of a network storage account asks for the password again, so a saved password is never sent to a new address
- Reading media info for a whole library is part of STRM boost (PRO); reading a single title stays free, and the page shows an upgrade prompt when it is not included
- Bundled plugins updated: TMDB 2.6.0, OpenSubtitles 1.3.0 and the messy-name recognizer 1.3.0
Server
- Web browsers no longer count toward the device limit
- A device that has not been used for 90 days releases its slot without being signed out, and takes a place in the queue again the next time it is used
- Servers whose clock runs slow no longer contact the license service every minute
- Changing your password in an app or the web player signs out every other device and keeps only the current one signed in; changing your PIN does the same
- Security hardening
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.12-beta), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.11-beta
Kryspal Media 0.9.11-beta
Released 2026-10-27 · channel: beta
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.11-beta (also :beta, :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Your library
- Files that share a main name become one title with several versions, and a metadata plugin can name each version
- Find duplicates by catalog number as well as by title
- Plugins can show their own icon, and plugin settings are grouped with icons
Ratings and poster badges
- Rating badges show the source's logo and score, and you choose the source and a minimum score
- A community rating badge rule is built in, and the 1080P badge is retired
- Badge size and an outline are yours to pick, with a live preview
- Poster badge settings are shorter: a compact rule list, a side panel, and changes save by themselves
Watching
- The title page groups its facts by meaning, with up to three ratings and the genres on their own row
- On narrow screens the filters fold behind one icon
- Search puts closer matches first, including pinyin initials (ldh → 刘德华)
- Shift+N and Shift+P jump to the next and previous episode, and Esc closes the next-episode card
- Search results keep going: titles load as you scroll, and Show more reveals more actors.
- Danmaku sliders move in 5% steps and save a second after you stop
Admin console
- The cast list in title management shows each person's photo
- About now lives at the bottom of the System status page
Server
- Webhook messages carry the server's product name and version
- Signing out and similar requests no longer break the connection on macOS
- DB_HOST and DB_PORT for setups where containers cannot reach each other by name
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.11-beta), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.10-beta
Kryspal Media 0.9.10-beta
Released 2026-10-24 · channel: beta
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.10-beta (also :beta, :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Webhooks
- Built-in webhooks, free on every plan: the server sends Emby-compatible messages to Home Assistant, Trakt and Simkl bridges and chat bridges when playback starts, pauses or stops, when something is marked watched or unwatched, favorited, or a new title arrives (System → Integrations → Webhook)
- Each webhook picks its events, members and libraries, can send JSON or a form, and can sign messages with a secret; Send test, example payloads and the last 50 deliveries are in the same place
- A webhook whose receiver answers 410, or keeps failing for 24 hours, is switched off and shows a reminder on the overview; turn it on again to resume
Your library
- Automatic matching is more accurate: the metadata plugin decides when a result is certain, instead of the server applying a fixed score (needs the updated TMDB plugin, 2.6.0)
- Subtitles are downloaded automatically only when the subtitle plugin is sure they fit the video (needs the updated OpenSubtitles 1.3.0 and ASSRT 1.1.0 plugins)
- A video whose media info is incomplete, such as a Blu-ray ISO added by an older version, is read when you press play instead of failing; playback may wait a few seconds the first time
- Metadata plugins see the file path of the title they search for, so a plugin can use a product code in the file name; the Identify dialog passes it too
- The Missing files count and list no longer include seasons that only exist because their episodes are there
- A new title found by the folder watcher or a path scan is announced like one found by a full scan
Watching
- A title with several versions plays the main file by default in the web player, in Emby apps and when casting, instead of each choosing differently
- Emby apps now get the default audio and subtitle tracks from the member's language and subtitle preferences, as the web player does
- Traditional and Simplified Chinese subtitles and audio are told apart in the web player, and language names are the same everywhere
- Guest roles without a photo are hidden on the title page, as in Emby
- Casting records what you watched: the title is marked watched at the end and the resume position is kept; a track the TV cannot play is named
- Title pages show Atmos and DTS:X only when the audio track really is one
- Poster shapes follow the picture the server delivers after your crop settings, in the web player and in Emby apps
- Holding to speed up shows the fast-forward icon and 2x for a moment, then fades
- Link a TV from the web player: choose Link a TV in the account menu and type the code the TV shows. If a member was chosen on the TV, only that member or an administrator can confirm it
Apps and devices
- Server support for app offline downloads: videos can be downloaded for members who are allowed, except disc sources, and an app can check a member's PIN again before a protected action
Admin console
- System settings has eight tabs, so all of them fit on one line: Backup & migration, Integrations and Logs each hold two or three sub-views, and the old links still work
- The attention cards have one fixed height with a one-line overview; details open in a side panel or in the libraries view
- Image downloads are paced per host: a host that cannot be reached is paused instead of holding up the others
- The people page keeps filling actor details after a restart
Install
- arm64 images are published again from this version, next to amd64
Fixes
- The English interface and docs say Bullet comments (danmaku) in one wording
- Deleted images no longer come back from the image cache index
- Episode cards in the web player use the poster the server picked
Known issue
- In the web player, after a playback error that recovers by itself, HLS subtitles can stop after about two seconds; this comes from a library fixed upstream and will be updated in the next version
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.10-beta), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.9-beta
Kryspal Media 0.9.9-beta
Released 2026-10-23 · channel: beta
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.9-beta (also :beta, :latest), linux/amd64 only (linux/arm64 will follow). The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Your library
- Network storage libraries over WebDAV, free: add a NAS, rclone or OpenList address, pick folders, and the server scans and plays them without mounting anything
- Redirecting the player straight to the storage with a direct link is a PRO feature; forwarding the video through the server stays free
- Blu-ray ISOs and folders, embedded subtitles, intro and credits detection and split videos (CD1 / CD2) work on network sources (WebDAV and strm) as they do on local files
- External audio tracks next to network storage and strm videos can be picked in the web player like local ones
- Blu-ray folders on network storage play in external players and in the web player; a file replaced under the same name is read again for its media info
Watching
- Danmaku is off by default; Settings › Danmaku now shows its loading state (loaded N comments, none for this title, or failed to load)
- Danmaku scrolls at the screen's refresh rate, so it looks smoother; the display area has four steps, and font size and opacity are set with sliders
- On an actor's page the backdrop now extends behind the overview and fades out smoothly, in light and dark themes
Admin console
- Each library can have its own value for a plugin setting, with a Scrape again button when the new value could change results
- When a change to a plugin's settings makes a library's own value stop working, the plugin page lists that library, and the field is marked No longer valid in the library's settings
- Name recognition rules are tracked for each library, and the Re-recognize reminder lists the libraries one by one
- Network storage accounts and the mirror location are managed under System → Network storage
- The library's allowed folders are listed only when a folder is refused, and the storage row for the images folder is now called Imported and uploaded images
- When a plugin is rate-limited, its page shows the reason the plugin gives
Fixes
- In libraries with write-back on, the posters and backdrops the scraper downloads are now written next to the video
- Disc folders named DISC 1, DISC 2 and the like no longer disappear after a rescan
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.9-beta), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.8-beta
Kryspal Media 0.9.8-beta
Released 2026-10-22 · channel: beta
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.8-beta (also :beta, :latest), linux/amd64 only (linux/arm64 will follow). The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Your library
- Blu-ray folders (BDMV) in movie libraries are added as one movie each and play like a Blu-ray ISO
- A Blu-ray folder inside a TV show folder counts as one episode; folders named as parts of one film are its additional parts
- A TV show whose episodes only match with absolute numbering is found again automatically
- A library remembers when it was last fully scanned, also after a restart
- A library folder that does not exist yet or is not a folder is still added, with a note; a folder outside what the container can see now says so, and lists the folders that are available
Watching
- Videos without a keyframe index (TS, M2TS, AVI and similar) no longer stall when you resume from the middle, and they start playing faster
- A loading indicator shows after half a second of waiting, also while a seek waits for the video to catch up
- Starting a video again on the same device switches to the newest one
- Players that read stream details now see the real audio channel count, and FLAC, Opus, AV1 and VP9 streams are announced with the right codec names
- A loading spinner shows while data is on its way
- The Libraries cards on the home page are a row of their own: move it or hide it under Home display in your settings; the administrator can also set the default order in the server settings
- TS and M2TS files build a seek index after their first play, so seeking is faster from then on; a library setting limits the file size, and cloud-drive libraries build none by default
- New account sync, used with a sync plugin
Admin console
- The Status tab shows the server fingerprint, for confirming the server when an app switches to your home network
- Plugin logos that credit a data source sit on a light rounded background in every theme
Setup
- If you close the setup wizard halfway, the administrator is taken back to it the next time they sign in or open the web page
- The metadata step accepts a TMDB API key or a read access token
Fixes
- Emby-compatible players no longer lose a title's watched state or last-played time when only the position changes
- A rare lock-up when a background refresh and orphan cleanup ran at the same time is fixed
Install
- The install script takes
--nameand--port, so a second copy can run on the same machine
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.8-beta), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.
Kryspal Media 0.9.7-beta
Kryspal Media 0.9.7-beta
Released 2026-10-21 · channel: beta
Kryspal Media is a self-hosted media server for 3rd-party players for Emby and Jellyfin.
Install
docker compose up -d # set your media folder in compose.yaml first; the attached compose.yaml is the whole setup
Images: kryspal/kryspalmedia:0.9.7-beta (also :beta, :latest), linux/amd64 and linux/arm64. The PostgreSQL image is kryspal/kryspalmedia-postgres:16.
Open http://<host>:5797 and create the first administrator in the setup wizard. Full instructions: https://media.kryspal.net/docs/install/.
Upgrade
Pull the new image and recreate the container: docker compose pull && docker compose up -d. Database migrations run automatically at startup.
Back up before upgrading (Admin → Backup, or pg_dump). Beta releases may include changes that cannot be rolled back after the database migrates.
What's new
Watching
- Episodes on portrait cards (for example in Continue watching mixed with movies) now show the series poster, not a wide still cut to portrait; wide cards keep the episode still
- The web player's search page shows suggestions before you type: similar titles to your 3 most recent watches, or Recently added when you have no history
- Videos without an index (TS, M2TS, AVI and similar) start faster in the web player and the apps, and playing from the start always begins at the very beginning
- Float and other PCM audio can now be converted and played; audio the server cannot decode is now said plainly, with an external player offered
- When you cast, an audio track that cannot be cast is explained
Admin console
- More image choices (many posters, backdrops and actor photos listed at once to pick from, for items and actors) is now a PRO feature. Uploading, cropping and removing images stay free, and images you already chose stay
- New setting Allowed web origins: when you open the web page through a reverse proxy that rewrites the Host header (for example a common Emby 302 proxy), add the proxy's address there instead of getting a 403
- The identify dialog and the actor photo picker show which site a candidate came from, when the plugin says so
Fixes
- AAC audio in TS and M2TS files no longer stalls in the web player
- The bit depth of PCM audio is shown correctly
Server
- Memory use now adjusts to the machine by itself, so small machines use less
- Updated components: Go 1.27.3, FFmpeg 8.1.3, and a security update of the web player's subtitle component
Known limitations
- Beta software: expect rough edges; report them.
- No video transcoding. Playback is direct play or remux (audio may be transcoded); players that cannot decode a file's video cannot play it.
- Only Docker is provided. There is no standalone installer.
Third-party software
See the attached NOTICE.md. FFmpeg (LGPL build, source included in the image under /usr/share/licenses/ffmpeg/) and other components keep their own licences.
Report a problem
Open an issue at https://github.com/kryspal/kryspal-media/issues/new/choose. Please include the server version (0.9.7-beta), how you run it (Docker, NAS model, architecture) and the player you use. Do not post media titles or paths you consider private.