Deploy bemby-template
One-click Bemby: Emby keep-alive and check-in panel with scheduler
Just deployed
/app/data
Bemby — Emby keep-alive & check-in panel, one click on Railway
Bemby is a self-hosted panel that keeps your Emby accounts active: scheduled check-ins, automated watch sessions, and Telegram client jobs — all from one small web panel with a built-in scheduler. This template packages the upstream liveinaus/Bemby project (MIT licensed; UI and docs largely in Chinese) so it runs on Railway with no manual setup: the database lands on a persistent volume, secrets are generated per deploy, and the panel is served over HTTPS on a public domain.
What you get in one click
- One bemby service built from the pinned upstream image (
liveinaus/bemby:1.0.0) via this repo's Dockerfile — Node.js + Express + Vue SPA + SQLite. - A persistent volume at
/app/dataholding the SQLite database (accounts, jobs, schedule history, settings) — it survives restarts and redeploys. - A public domain for the panel (the app reads Railway's
PORT). - Auto-generated secrets:
JWT_SECRET(64 chars) andADMIN_PASSWORD(24 chars, withADMIN_DEFAULT_PASSWORDpinned to the same value so the panel forces a password change on first login).
After deploying
- Open the panel's public domain.
- Log in as
adminwith the generatedADMIN_PASSWORDfrom your service's Variables tab. - Set your own password (the panel requires this on first login).
- Add your Emby server URL and Emby account credentials in the panel's Accounts section, then create check-in / keep-alive jobs and pick a schedule (set the
TZvariable to your IANA timezone — it defaults to UTC).
Terms of service — read this. Bemby is keep-alive tooling: it automates activity (check-ins, watch time, Telegram client actions) on third-party services. Use it only on accounts and servers you are entitled to use, and only where the upstream service's terms permit it — some services prohibit automated sign-ins or simulated watch time. Automating activity may violate those terms, and doing so is entirely at your own risk.
Deploy and Host
Deploying Bemby on Railway provisions a single bemby service from this repo's Dockerfile (thin wrapper around the pinned upstream image liveinaus/bemby:1.0.0, release 2026-08-04), attaches a persistent volume at /app/data for the SQLite database, and exposes the panel on a public Railway domain. Three variables are pre-configured with per-deploy generated values, so the deploy form needs no input: JWT_SECRET (${{secret(64, …)}}), ADMIN_PASSWORD (${{secret(24, …)}}), and ADMIN_DEFAULT_PASSWORD (reference to ADMIN_PASSWORD) — the pairing makes the panel force a password change on first login.
About Hosting
Hosting Bemby yourself means your Emby credentials and job history never leave your own database: everything is stored in SQLite on your private Railway volume at /app/data. The service runs one small Node.js container (512 MB–1 GB RAM is plenty), and Railway's proxy terminates TLS in front of the panel (TRUST_PROXY=1 is baked in). Expected cost is roughly $3–5/month on Railway's usage-based pricing. Upgrades are deliberate: bump the image tag in the Dockerfile and redeploy — data survives on the volume.
Why Deploy
Manually hosting Bemby means wiring a Docker volume, generating a JWT_SECRET, picking an admin password, exposing the panel over TLS, and keeping it all running across restarts. This template does all of it in one click: volume attached, secrets auto-generated per deploy, healthcheck on /api/health, restart-on-failure policy, and the panel published on a public HTTPS domain. You go from zero to a logged-in, working scheduler in about two minutes.
Common Use Cases
- Keeping dormant Emby accounts active with scheduled check-ins so servers do not prune them.
- Running automated watch/keep-alive sessions for accounts on Emby servers you are entitled to use.
- Managing Telegram client jobs from one panel, with logs and history persisted across redeploys.
- Self-hosting the panel so credentials stay in your own SQLite database rather than a third party's.
Dependencies for
Bemby is fully self-contained — the only dependency is the service itself.
Deployment Dependencies
- bemby service — built from
liveinaus/bemby:1.0.0(pinned; upstream MIT license). Embeds its own Node.js runtime and SQLite storage; no external database or cache is required. - Persistent volume mounted at
/app/datafor the SQLite database. - Environment:
JWT_SECRET,ADMIN_PASSWORD,ADMIN_DEFAULT_PASSWORD(auto-generated by the template); optionalTZ(IANA timezone, defaults to UTC) andADMIN_USERNAME(defaults toadmin), which you can add after deploying. - Emby server URL and Emby account credentials are not environment variables — you add them through the panel UI after login, and they stay in the volume-backed database.
Template Content