Oblecto is a self-hosted media server for streaming the media you already own. It indexes Movies and TV Shows, enriches them with metadata and artwork, and serves them through a web interface or compatible clients.
- Movie and TV library indexing with background updates.
- Metadata and artwork from TMDb, TVDB, and Fanart.tv (bring your own API keys).
- Built-in web UI (Oblecto-Web) served by the backend.
- Jellyfin/Emby API emulation for compatible clients (port
8096). - Streaming sessions with direct play and recode/HLS support (via FFmpeg).
- Optional federation and seedbox import support.
- CLI tools for setup, database init, and user management.
- Scan folders of Movies/TV, identify items, and keep your library organized.
- Fetch posters, fanart, episode banners, descriptions, and ratings.
- Serve your library to the web UI and compatible Jellyfin clients.
- Track playback progress and provide "Next Up" for TV series.
- Store assets and metadata in a local database (SQLite by default).
Oblecto can be installed using NPM or directly from Git. We recommend NPM unless you plan to develop.
- Install:
npm install -g oblecto - Initialize config and assets:
oblecto init - Edit
/etc/oblecto/config.jsonand set:movies.directoriesandtvshows.directories- API keys:
themoviedb.key,tvdb.key,fanart.tv.key - Database settings (SQLite by default)
- Initialize the database:
oblecto init database - Start the server:
oblecto start(oroblecto start-tui) - Open the web UI at
http://localhost:8080/web(or the port set inserver.port)
- Install dependencies:
npm install - Build the web UI:
npm run build:web - Build or run the backend:
npm run buildthennpm run start, ornpm run devfor live development
- Use the CLI if needed:
npm run oblecto(ornpm run oblecto:dev)
- Config path order:
OBLECTO_CONFIG_PATH->./res/config.json->/etc/oblecto/config.json - Default SQLite file:
/etc/oblecto/database.sqlite - Sample config template:
res/config.json
Need help? Ask in the gitter chat or check the setup guide: https://github.com/robinp7720/Oblecto/wiki/Getting-Started