embystream 0.0.34

Another Emby streaming application (frontend/backend separation) written in Rust.
Documentation

EmbyStream

What it does

EmbyStream sits between Emby clients and storage backends.

  • Web-first setup with local accounts, drafts, generated deployment artifacts, and admin logs
  • frontend, backend, and dual gateway modes
  • Disk, OpenList, DirectLink, WebDav, Google Drive, and StreamRelay backends
  • Signed playback links, path rewrites, anti-hotlinking, and User-Agent filtering

For architecture details and full configuration semantics, use the docs linked below.

Quick start

Build the Web UI and start the local admin service:

cd web
bun install
bun run build
cd ..

cargo run -- web serve \
  --listen 127.0.0.1:17172 \
  --data-dir ./web_data \
  --runtime-log-dir ./logs

Then open http://127.0.0.1:17172.

The Web Config Studio is now the recommended setup path. It can:

  • create and manage local admin accounts
  • edit config drafts in the browser
  • generate config.toml, nginx.conf, docker-compose.yaml, systemd.service, and pm2.config.cjs
  • inspect admin-only logs in the browser

If you set --tmdb-api-key, the login page uses TMDB trending backgrounds. Otherwise it falls back to Bing daily images.

Build and package

Build an embedded single-binary release locally:

./scripts/build-binary.sh

The script builds web/dist, compiles the Rust binary, and writes artifacts under ./.build/binary/release/ or ./.build/binary/debug/.

Build the integrated Web image locally:

./scripts/build-docker.sh --tag embystream-web:latest

By default the script writes Docker metadata and local image archives under .build/docker/.

Build the legacy CLI image instead:

./scripts/build-docker.sh \
  --dockerfile Dockerfile \
  --tag embystream-cli:latest

For published artifacts, see:

Install

From crates.io:

cargo install embystream

From source:

git clone https://github.com/Open-PiliPili/EmbyStream.git
cd EmbyStream
./scripts/build-binary.sh

CLI fallback

The legacy CLI gateway flow is still supported when you want to manage config.toml directly:

embystream config template
embystream run --config ./config.toml

Use embystream --lang zh --help for Simplified Chinese CLI help and wizard prompts.

Documentation

Document Description
User guide Web-first setup flow, deployment notes, and CLI fallback
CLI usage run, config, auth google, and web commands
Configuration reference Full TOML field reference
Google OAuth Desktop App Setup Google Drive OAuth setup
Google OAuth Desktop App 创建教程 Google Drive OAuth 中文教程

License

Copyright (c) 2025 open-pilipili.

EmbyStream is licensed under the GPL-3.0.