---
title: "Deploy Jellyfin Self-Hosted Media Server + Web Uploader"
description: "One-click Jellyfin media server with web uploader and persistent storage"
category: "Storage"
url: https://railway.com/deploy/jellyfin-self-hosted-media-server-web-up
---

# 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 on Railway](https://railway.com/template/jellyfin-self-hosted-media-server-web-up)**

- **Creator:** BURNI80
- **Category:** Storage
- **Total deploys:** 2

## Template content

### jellyfin

- **Source:** https://github.com/BURNI80/jellyfin-railway-template
- **Public domain:** Yes

## Documentation

# 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

| Variable | Default | Description |
|---|---|---|
| `TZ` | `Etc/UTC` | Container timezone (pre-filled). |
| `PORT` | `8095` | Internal HTTP port, must stay `8095` (pre-filled). |
| `FILEBROWSER_PASSWORD` | — | Optional. 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


## Similar templates

- [Garage S3 Storage](https://railway.com/deploy/garage-s3-storage) — Ultra-light S3 server: fast, open-source, plug-and-play.
- [Redis](https://railway.com/deploy/redis-1) — Self Host Latest Redis with Railway
- [EasyImg](https://railway.com/deploy/easyimg) — Simple self-hostable Nuxt.js personal image hosting system.

Open this page in a browser: https://railway.com/deploy/jellyfin-self-hosted-media-server-web-up
