← Back to Articles
· media-ripping-station

Build an Automatic Blu-ray Ripping Station with ARM and Jellyfin

A complete guide to building a fully automated home media ripping station using the Automatic Ripping Machine (ARM), MakeMKV, and Jellyfin. Insert a disc and walk away.

Watch the Video homelabjellyfinmakemkvarmblu-raynfsubuntumedia-server

Insert a disc, walk away, find a perfect quality MKV on your NAS when you come back. That's the goal. This is the written companion to Part 1 of the Media Ripping Station series.


The Philosophy

Never re-encode. Keep original video streams (H.264 from Blu-ray, HEVC from 4K), keep original audio (TrueHD, DTS-HD MA), use MKV as the container, and FLAC for CD audio. Re-encoding introduces quality loss that can never be recovered. Storage is cheap. Quality isn't.


Hardware

Component Notes Affiliate Link
Intel NUC (10th Gen) 32GB RAM, 1TB NVMe, Quick Sync for transcoding Amazon
External Blu-ray drive Needs UHD support if you want 4K (see Part 2) Amazon

Affiliate disclosure: Some links in the hardware table above are affiliate links. If you purchase through them I may earn a small commission at no extra cost to you.

The NUC's integrated GPU handles H.264 and HEVC transcoding at 15-20W. A dedicated GPU is complete overkill for a media server.


Storage

Everything goes into MKV files with original streams intact. MP4 is not a good choice here: it has worse subtitle support, can't handle multiple audio tracks cleanly, and offers no real advantages for a Jellyfin setup.

For audio, keep the original lossless tracks. Don't convert TrueHD or DTS-HD MA to anything. You lose multi-channel metadata and there's no benefit. For CDs, FLAC: lossless, about half the size of WAV, excellent metadata support.


NFS Setup

The ripping station writes directly to a NAS over NFS. Wired 2.5GbE matters here because you're writing large files continuously during a rip.

On the NAS, export the share in /etc/exports:

/mnt/raid/share 10.51.50.0/23(rw,sync,no_subtree_check,all_squash,anonuid=2000,anongid=2000)

all_squash maps all NFS clients to UID/GID 2000, which avoids permission headaches later.

On Ubuntu (the NUC):

sudo apt install nfs-common
sudo mkdir -p /mnt/nas/media

# Test the mount
sudo mount -t nfs 10.51.50.18:/mnt/raid/share /mnt/nas/media

# Make it permanent in /etc/fstab
10.51.50.18:/mnt/raid/share  /mnt/nas/media  nfs  defaults,_netdev,noatime  0  0

Check the network speed after mounting:

ethtool eth0  # Should show "Speed: 2500Mb/s"

Automatic Ripping Machine (ARM)

ARM handles all the automation. It runs as a background service, watches the optical drive, and kicks off MakeMKV when a disc is inserted. You get a web UI for monitoring, Telegram/Discord notifications when rips complete, and zero manual intervention for the actual ripping.

GitHub: https://github.com/automatic-ripping-machine/automatic-ripping-machine

Key settings in /etc/arm/arm.yaml:

# Keep original quality, no transcoding
SKIP_TRANSCODE: true

# Output to the NAS
COMPLETED_PATH: "/mnt/nas/media/rips"

# Only rip the main movie, skip extras and trailers
MAINFEATURE: true
MINLENGTH: 600
MAXLENGTH: 0

Telegram Notifications

Getting a message when a rip finishes (or fails) is genuinely useful. Set up a bot through @BotFather in Telegram, get your chat ID from https://api.telegram.org/bot<TOKEN>/getUpdates, and add to arm.yaml:

TELEGRAM_ENABLED: true
TELEGRAM_BOT_TOKEN: "your-bot-token"
TELEGRAM_CHAT_ID: "your-chat-id"

You'll get messages like "Rip of The Matrix (1999) completed - 28.4 GB" when each disc finishes.


Organizing for Jellyfin

Jellyfin expects a specific folder structure:

/mnt/nas/media/
├── Movies/
│   └── The Matrix (1999)/
│       └── The Matrix (1999).mkv
├── TV Shows/
│   └── Breaking Bad/
│       └── Season 01/
│           └── Breaking Bad - S01E01.mkv
└── Music/
    └── The Beatles/
        └── Abbey Road/
            └── 01 - Come Together.flac

ARM rips to a staging folder. Moving files to their final location manually is fine for smaller collections, or you can set up Radarr/Sonarr to handle it automatically. In Jellyfin, create separate libraries for Movies, TV Shows, and Music pointing at each folder.


What Not to Do

Don't convert video. Ever. H.264 to HEVC, HEVC to HEVC, doesn't matter - you're degrading quality with no upside. Don't convert lossless audio to lossy. Don't use MP4. Just keep what's on the disc in an MKV container and you're done.


What's Next

Part 1 is DVD and standard Blu-ray. Part 2 covers 4K UHD, which requires a different drive and LibreDrive firmware. It also includes an honest look at what works and what doesn't with Disney discs specifically.

← Back to Articles