
Self-hosting EmbyStat the easy way
Yulei ChenEmbyStat is a self-hosted web analytics tool that digs into your Emby or Jellyfin server and gives you actual numbers behind your media library: watch time, most-played shows, biggest disk hogs, missing episodes, and more. It's free and open source, but someone still has to run it, and spinning up a VPS just for a stats dashboard is overkill.
Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get EmbyStat up and running in minutes: no server setup, no reverse proxy config, no infrastructure to maintain.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server. If you just signed up you get a 48-hour free trial server
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's EmbyStat preset. It's built around the maintained LinuxServer.io image so you get a clean, stable default setup:
- LinuxServer.io
lscr.io/linuxserver/embystatimage - Specific version tag (
0.2.0-beta.38-ls134) for stability, rather thanlatest - HTTP service exposed on port
6555 - Persistent storage mounted to
/configfor settings and the SQLite database PUID/PGIDset to1000andTZset toEurope/Madrid(change this to your zone)
Next steps
Once EmbyStat is running on Sliplane, access it using the domain Sliplane gave you (e.g. embystat-xxxx.sliplane.app). The first time you open it you'll walk through a short setup wizard:
- Create an admin username and password
- Enter the URL and API key of your Emby or Jellyfin server so EmbyStat can sync your libraries
- Pick which libraries to include, then kick off the first sync
Connecting to your media server
EmbyStat needs to reach your Emby or Jellyfin server over the network. If your media server is publicly reachable, just use its public URL. If it lives on your home network, you'll want a way to route traffic from the Sliplane container back home, like a Tailscale sidecar or an SSH tunnel to a machine that can see it.
Changing the timezone
The preset ships with TZ=Europe/Madrid to match the upstream default. Update it from the service's env var settings in Sliplane, for example Europe/Berlin, America/New_York, or Asia/Tokyo. A full list lives in the tz database.
Logging
Docker container logs go to STDOUT, which Sliplane's built-in log viewer picks up automatically. If you want to dig into sync errors or chart generation issues, that's where to look. For a broader Docker logs walkthrough, check out our post on how to use Docker logs.
Troubleshooting
If EmbyStat can't reach your media server, double-check the URL (include the scheme and port, e.g. http://emby.example.com:8096) and the API key. The EmbyStat wiki has answers for most common sync issues.
Cost comparison
Of course you can also self-host EmbyStat with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU Cores | RAM | Disk | Estimated Monthly Cost | Notes |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 | charge per server |
| Render | 1 | 2 GB | 40 GB | ~$35–$45 | VM Small |
| Fly.io | 2 | 2 GB | 40 GB | ~$20–$25 | VM + volume |
| Railway | 2 | 2 GB | 40 GB | ~$15–$66 | Usage-based |
FAQ
Does EmbyStat work with Jellyfin too?
Yes. EmbyStat talks to both Emby and Jellyfin servers. Jellyfin's API is close enough to Emby's that the same sync logic handles both. You just need the server URL and an API key.
Do I need the EmbyStat plugin on my Emby server?
Not for basic statistics. The main EmbyStat container pulls data from your media server's API on its own. The EmbyStat plugin is only needed if you want live event-based stats on top of that (e.g. real-time playback tracking).
How do I update EmbyStat?
Change the image tag in your service settings and redeploy. Check Docker Hub for the latest stable version published by LinuxServer.io.
How do I back up my EmbyStat data?
Everything (settings, API keys, the SQLite database) lives in the /config volume. Snapshot or back up that volume and you're safe. For general backup patterns, see 4 easy ways to backup Docker volumes.
Are there alternatives to EmbyStat?
If you want broader dashboards and aren't tied to media stats, Grafana is a great general-purpose analytics tool, and Metabase covers SQL-driven BI. For Jellyfin-specific stats, Jellystat is worth a look.