🚀 Host File Browser & Jellyfin Using Docker

A simple guide for running your own local file cloud & media server.

📦 1. Prerequisites

Install Docker

sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker --now

📁 2. Directory Setup

sudo mkdir -p /mnt/phd/{filebrowser,jellyfin/{config,cache,tmp}}
sudo chmod -R 777 /mnt/phd
Your structure:
/mnt/phd/
├── filebrowser/
│   ├── database.db
│   └── .filebrowser.json
└── jellyfin/
    ├── config/
    ├── cache/
    └── tmp/

🗂️ 3. Install File Browser

File Browser gives you a clean web UI to access files from your browser.

3.1 Run Container

sudo docker run -d \
  --name filebrowser \
  -v /mnt/phd/filebrowser/database.db:/database.db \
  -v /mnt/phd/filebrowser/.filebrowser.json:/.filebrowser.json \
  -v /media/saurabh/saurabh1003:/srv \
  -p 8080:80 \
  --restart unless-stopped \
  filebrowser/filebrowser:s6

3.2 Access File Browser

http://localhost:8080
Default login:

Now you have a personal cloud file manager running locally.

🎬 4. Install Jellyfin Media Server

4.1 Run Jellyfin Container

sudo docker run -d \
  --name jellyfin \
  --user 1000:1000 \
  -p 8096:8096 \
  -v /media/saurabh/saurabh1003/video:/media \
  -v /mnt/phd/jellyfin/config:/config \
  -v /mnt/phd/jellyfin/cache:/cache \
  -v /mnt/phd/jellyfin/tmp:/tmp \
  --restart unless-stopped \
  jellyfin/jellyfin

4.2 Access Jellyfin

http://localhost:8096
Setup Wizard Steps:
  1. Select language
  2. Create admin account
  3. Add media library → browse to /media
  4. Finish & enjoy streaming

Your movies will automatically appear once scanned.

⚙️ 5. Docker Management

View Logs

sudo docker logs -f jellyfin
sudo docker logs -f filebrowser

Check Running Containers

sudo docker ps

Stop Containers

sudo docker stop jellyfin filebrowser

🔄 6. Optional: Docker Compose File

version: '3.8'
services:

  filebrowser:
    image: filebrowser/filebrowser:s6
    container_name: filebrowser
    restart: unless-stopped
    ports:
      - 8080:80
    volumes:
      - /mnt/phd/filebrowser/database.db:/database.db
      - /mnt/phd/filebrowser/.filebrowser.json:/.filebrowser.json
      - /media/saurabh/saurabh1003:/srv

  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    restart: unless-stopped
    ports:
      - 8096:8096
    user: 1000:1000
    volumes:
      - /media/saurabh/saurabh1003/video:/media
      - /mnt/phd/jellyfin/config:/config
      - /mnt/phd/jellyfin/cache:/cache
      - /mnt/phd/jellyfin/tmp:/tmp
Start all services:
sudo docker compose up -d

📌 Final URLs

ServiceURLDescription
File Browserhttp://localhost:8080Local file cloud
Jellyfinhttp://localhost:8096Media streaming server