Your files. Beautifully together.
Bring your movies and TV out of their folders, with rich artwork, ordered seasons, and a library that stays up to date.
A self-hosted media server for your movies and shows.
One beautiful place to make them yours.
Your files. Your server. Your evening.

Past the familiar paths, a different kind of adventure begins. A journey into the mountains, and the things we find along the way.
Your next movie night starts here. Add a title with “My watchlist” above.
A collection worth coming home to
A personal media server should feel personal.
Crabitat puts your collection, and your evening, first.
Bring your movies and TV out of their folders, with rich artwork, ordered seasons, and a library that stays up to date.
Your watchlist, your progress, your next good watch. Separate accounts keep everyone’s place in the story.
Your media stays where you put it. Crabitat keeps its own metadata and history, with support for read-only media folders.
Less looking. More watching.
The good part shouldn’t take so much finding. Settle back into a favorite, or discover something that’s been waiting in your library.
A little time. A great story.
Into the green48m
Between tides1h 28m
After the light52mThere’s more to the story.

Make movie night your own.
Crabitat TV layout with sample titles. Mobile client illustrated.
Your library, more ways to watch
Bring your favorite mobile or TV client to your Crabitat library. Jellyfin-compatible apps on iOS, Android, and TV can share your collection, original-file playback, and viewing progress through the optional compatibility adapter.
Enable the optional adapter, add your server address manually, and sign in with your Crabitat account. Manage the server in Crabitat.
This is a compatibility preview for direct-play files. Client coverage is still being tested; transcoding, external subtitles, and Jellyfin seek-preview endpoints are not supported.
Read the compatibility notesBuilt in Rust. Made to keep up.
Crabitat checks what changed and leaves unchanged files alone. Artwork and metadata fill in in the background, while new titles appear in your library without a page refresh.
10,000 unchanged files. One warm rescan.
0.155seconds
Recorded structural scan on an Apple M2 with a local SSD. Metadata and artwork work excluded.
Release build, Apple M2, 8 GiB RAM, 14 October 2026. Warm results are medians of three runs over synthetic file fixtures, with providers and enrichment workers disabled.
| Unchanged files | Time |
|---|---|
| 10,000 | 0.155 s |
| 50,000 | 0.778 s |
| 100,000 | 1.554 s |
These results measure structural rescanning, not first-time library setup, artwork completion, or streaming speed. NAS disks, network storage, and background work change the result. This is not a Plex, Emby, or Jellyfin comparison.
See the measurement notesThe little things that make a movie night
Skip detected intros in the web and native TV players. Local audio analysis finds repeated openings without sending your audio online.
Intro detection is in preview.See where you’re going with thumbnail previews on the web player’s timeline. Preview generation pauses to give playback priority.
Available after previews are generated.Move into the next episode with optional autoplay, saved progress, and controls that stay with you in full screen.
Autoplay is always your choice.A home of your own
Bring Crabitat to your own server.
Start small, explore the preview, make it yours.
You’ll need Git, Rust 1.91+, and ffprobe.
git clone https://github.com/Blumenwagen/Crabitat.git
cd Crabitat
cargo run --lockedOpen localhost:8097. Use the setup token from the server log to create your administrator account.
Configure a media folder, add a library, and let Crabitat find your movies and shows.
Clone the repository, then run from its root.
docker build -t crabitat .
docker run --rm \
-p 127.0.0.1:8097:8097 \
-v crabitat-data:/data \
-v /path/to/media:/media:ro \
crabitatReplace /path/to/media with your folder. The read-only mount protects your files. App data stays in its own volume.
Open localhost:8097 and use the setup token from the container log to create your account.
A few things you might be wondering
Getting to know your next media server.
Crabitat is a self-hosted media server for your own movie and TV files. It brings your collection together with artwork, personal accounts, watchlists, and saved progress. It is an alternative in development for people exploring Plex, Emby, or Jellyfin. It does not supply movies or TV shows.
The built-in web interface is available now. A separate native Google TV app is in preview, and an optional Jellyfin compatibility adapter supports a limited set of client features. Playback and client compatibility still depend on your files and device.
Yes, through Crabitat’s optional compatibility adapter. The preview supports login, movie and TV browsing, original-file playback, favorites, and shared watch progress. Use compatible mobile clients on iOS and Android, as well as TV clients. Support varies by client and file format; full Jellyfin feature parity, transcoding, and Jellyfin trickplay endpoints are not available. Sign in with your Crabitat account, not your existing Jellyfin credentials.
Not yet. Crabitat currently streams original files with HTTP range support. Your browser or client must support the original format. HLS, remuxing, transcoding, and external subtitle delivery are planned.
Crabitat is designed to work with read-only media folders. Its database, metadata, artwork, and watch history live in its own data directory. Keep the media mount read-only when setting up a container.
Crabitat can read local artwork and NFO metadata and fetch information independently from TVmaze and TMDB. TMDB requires your own token. Provider lookups request title information; viewing history is not sent to metadata providers.
Crabitat is an early preview. Start with a separate installation and try your own files and devices before making it your main server. Direct playback, library browsing, accounts, watchlists, and progress are implemented; broader playback and client support are still being developed.