Recap: Your Journey So Far
In Part 1, we took your old, dusty computer and gave it a new purpose by turning it into a server running Ubuntu Server 24.04 LTS. We covered:
Why starting with an old PC is a smart move. It’s cost-effective, beginner-friendly, and environmentally conscious.
The minimum hardware specs needed to run a Jellyfin server. You don’t need the latest and greatest hardware to get started.
Step-by-step instructions for installing Ubuntu Server. From creating a bootable USB drive to finishing the install.
Ubuntu Server is installed and ready to go. Your old PC is now a dedicated server, ready to host your Jellyfin media library. But before we touch Jellyfin, you need storage and a way to push files onto it. That means adding drives and setting up an SMB share. Once that’s done, you can drop media onto the server straight from a Windows or Linux box, which is the whole point when you’re ripping Blu-rays and DVDs on a separate machine.
Section 1: Adding Storage to Your Server
Power Off the Server and Add Drives
Step 1: Physically Connect the Storage Drive(s) to Your Server
Power off command:
sudo shutdown -h now
For internal drives, install the drive into a free slot and connect it using SATA power and data cables.
For external drives, plug it into a USB port. No need to power down for this one.
Power on the server and confirm the drive is recognized.
SSH Into Your New Server
Not sure how to use SSH? Read this post: Master the Basics - How to SSH Into a Linux Server
Steps to Connect Using SSH
- Open PowerShell on Windows:
The command for SSH:
ssh <username>@<server-ip>
Example From Part 1:
ssh kryptikwurm@172.27.0.200
- Authenticate:
Enter your server password when prompted. (Don’t worry if you don’t see any characters while typing. That’s normal for security reasons.)
Partition and Format the New Drive
Step 2: Check if the Drive is Detected
Use the lsblk command to list all block (storage) devices:
lsblk
Identify the new drive (e.g., /dev/sdb or /dev/sdc) based on its size.
Note the name of the device (e.g., /dev/sdb). You’ll use it in the next steps.
Details on how to partition and format a hard drive in Linux are here: Master the Basics - How to Use parted to Create Partitions
Step 3: Creating the Basic Folder Structure of Your Media Library
As explained in this post your folder structure for Jellyfin should look like this:
mnt/media/
├── Movies/
├── Shows/
└── Music/
To create these folders in /mnt/media use this command:
sudo mkdir -p /mnt/media/Movies /mnt/media/Shows /mnt/media/Music
To verify this worked:
ls -l /mnt/media
It should look something like this:
drwxr-xr-x 2 root root 4096 Jan 17 13:47 Movies
drwxr-xr-x 2 root root 4096 Jan 17 13:47 Music
drwxr-xr-x 2 root root 4096 Jan 17 13:47 Shows
The root:root ownership won’t work for your normal user. Let’s fix that.
Change ownership of the folders:
sudo chown -R <username>:<username> /mnt/media
Example:
sudo chown -R kryptikwurm:kryptikwurm /mnt/media
To verify the ownership change worked:
ls -l /mnt/media
It should now look like this:
drwxr-xr-x 2 kryptikwurm kryptikwurm 4096 Jan 17 13:47 Movies
drwxr-xr-x 2 kryptikwurm kryptikwurm 4096 Jan 17 13:47 Music
drwxr-xr-x 2 kryptikwurm kryptikwurm 4096 Jan 17 13:47 Shows
Now grant Read, Write, and Execute to this user:
sudo chmod -R 770 /mnt/media/
To verify the permission change worked:
ls -l /mnt/media
It should now look like this:
drwxrwx--- 2 kryptikwurm kryptikwurm 4096 Jan 17 13:47 Movies
drwxrwx--- 2 kryptikwurm kryptikwurm 4096 Jan 17 13:47 Music
drwxrwx--- 2 kryptikwurm kryptikwurm 4096 Jan 17 13:47 Shows
Section 2: Setting Up SMB (Samba) Shares
Step 1: Install Samba and Nano
To share folders and files between your Linux server and other devices (including Windows boxes), you need Samba. Think of Samba as the bridge that connects different operating systems so they can swap files without drama.
You’ll also want Nano, a beginner-friendly text editor for Linux. It’s perfect for quickly editing config files without fuss.
To install both Samba and Nano in one step, run:
sudo apt install samba nano -y
This tells your server to download and install the required packages automatically. The -y flag confirms the installation for you.
Step 2: Configure the Samba Share
- Open the Samba configuration file for editing:
sudo nano /etc/samba/smb.conf
- Add the following section at the end of the file to define the media share:
[Media]
path = /mnt/media
browseable = yes
read only = no
guest ok = no
valid users = your-username
Save and exit Nano:
- Press
Ctrl+Oto save changes. - Press
Enterto confirm. - Press
Ctrl+Xto exit.
So what does all of this actually do? Let’s break it down:
[Media]
This is the name of the share. When you connect from a client device, this is what shows up in the network. Change it to something meaningful for your setup, like [Movies] or [Files].
path = /mnt/media
This points to the directory on your server that gets shared. In this example, the folder /mnt/media is being shared. Replace /mnt/media with the actual path of the directory you want to share.
browseable = yes
Setting this to yes makes the share visible when users browse the network. Set it to no and users have to know the share’s name to connect manually.
read only = no
This lets users add, modify, or delete files in the share. Set it to yes and the share becomes read-only.
guest ok = no
This blocks unauthenticated users (guests) from touching the share. Only users with valid credentials get in.
valid users = your-username
This restricts access to the share to the specified username. Replace your-username with the actual username you set up on the Ubuntu server. Only that account can connect.
Step 3: Create a Samba User
- Add your server user as a Samba user:
sudo smbpasswd -a your-username
- Follow the prompts to create a password for the Samba user.
Step 4: Restart Samba Service
Restart the Samba service to apply the changes:
sudo systemctl restart smbd
Section 3: Accessing the SMB Share from Another Device
On Windows
- Open File Explorer and type the server’s IP address in the address bar, prefixed with
\\:
\\<server-ip>\<share-name>
Example: \\192.168.1.100\media

- Enter your Samba username and password when prompted.

- The shared folder should now be accessible, and you can drag and drop files into it.

On macOS or Linux
Open your file manager and choose “Connect to Server” (or a similar option).
Enter the SMB address:
smb://<server-ip>/Media
Example: smb://192.168.1.100/Media.
- Log in with your Samba username and password to access the share.
Conclusion
Adding storage and setting up SMB shares looks intimidating until you’ve done it once. By the end of this guide you added a new drive, built a clean media library structure, and shared it across your network with Samba. Your server can now accept files from any machine on your LAN.
Next, test the share by copying a movie file from your desktop to \\<server-ip>\media\Movies. If it lands and you can read it back, your storage layer is done. If Windows throws a permission error, recheck the chmod -R 770 and the valid users line in smb.conf first. Those are the two settings that bite most people.
Storage is ready. Head to Part 3 of this series to install Jellyfin and start serving your collection.
