Railway

Deploy Jellyfin Self-Hosted Media Server + Web Uploader

One-click Jellyfin media server with web uploader and persistent storage

Deploy Jellyfin Self-Hosted Media Server + Web Uploader

/config

Deploy and Host Jellyfin on Railway

One-click Jellyfin media server on Railway with a built-in web portal (FileBrowser) for uploading your media, and persistent storage.

  • Jellyfin 10.10.7 — free and open-source media server (movies, TV, music)
  • Web portal — upload, organise and manage your media from any browser at /files
  • Persistent volume — config, metadata and media survive redeploys
  • nginx — single public entry point, no configuration needed
  • Everything from the browser — no SSH, no terminal, no extra tools

About Hosting Jellyfin on Railway

Railway gives you a public HTTPS URL, a 500 MB persistent volume on the free tier and automatic redeploys. The template wires nginx, Jellyfin and a file uploader behind a single domain, so you never need to configure ports or a reverse proxy yourself.

Why Deploy Jellyfin on Railway

  • Free and open source — no licensing costs, Jellyfin is a drop-in Plex alternative
  • Upload from the browser — the web portal means no SSH, no terminal, no extra tools
  • Persistent storage — your config, metadata and media survive redeploys
  • One URL — nginx exposes Jellyfin and the portal on a single public domain

Common Use Cases

  • Streaming your movie, TV and music collection from any device
  • A private family media server with shared libraries
  • Organising and uploading media from any browser, anywhere

Dependencies for Jellyfin

No databases or external services are required. The service builds its own image from the Dockerfile in the repository.

Deployment Dependencies

  • A Railway account (the free tier is enough)
  • The template deploys from the source repository using the included Dockerfile
  • Volume mounted at /config provides persistence

Deploy

  1. Click Deploy on Railway — the variables TZ and PORT are already pre-filled. The portal password is optional; if left empty one is auto-generated on first boot.
  2. Open your domain and complete the Jellyfin setup wizard (language + admin user).
  3. Upload your media through the web portal at /files.
  4. Add Jellyfin libraries pointing to /config/media/....

The web portal

The portal lives at /files (FileBrowser). Log in with user admin:

  • Password: if you didn't set FILEBROWSER_PASSWORD, it is auto-generated on first boot and saved at /config/.filebrowser-password.
  • Upload movies/series into the folders under /config/media/.
  • The portal is served through the same domain as Jellyfin — no extra port to remember.

Adding libraries in Jellyfin

In Jellyfin, add your media folders with paths like /config/media/movies or /config/media/series. Enable metadata storage in the folder settings so scrapers work.

Storage

A volume is attached at /config. Everything (Jellyfin config, metadata, media) persists across redeploys.

Environment variables

VariableDefaultDescription
TZEtc/UTCContainer timezone (pre-filled).
PORT8095Internal HTTP port, must stay 8095 (pre-filled).
FILEBROWSER_PASSWORDOptional. Password for the portal admin user. Auto-generated if empty.

Limitations

  • Railway free tier volume is 500 MB — enough for a few movies or a music collection.
  • Jellyfin is pinned to 10.10.x (10.11+ requires 2 GiB free disk, incompatible with the free volume).
  • Transcoding may be slow on free instances — direct play is recommended.
  • Free tier services stop when idle; redeploys restart them.

More

Full documentation (English + Español) is in the repository README: https://github.com/BURNI80/jellyfin-railway-template


Template Content

More templates in this category

View Template
Garage S3 Storage
Ultra-light S3 server: fast, open-source, plug-and-play.

PROJETOS
7
View Template
Redis
Self Host Latest Redis with Railway

Arloodots
1
View Template
Postgres Backup to Cloudflare R2 (S3-Compatible)
Automated PostgreSQL backups to S3-compatible storage with encryption

Artour
7