automatic-ripping-machine

automatic-ripping-machine

Docker app from welfare's Repository

Overview

Insert an optical disc (Blu-ray, DVD, CD) and checks to see if it's audio, video (Movie or TV), or data, then rips it. See: https://b3n.org/automatic-ripping-machine use lsscsi -g on root of Unraid to get info for --device for cd/dvd/bluray drive for handbrake presets https://handbrake.fr/docs/en/latest/technical/official-presets.html https://github.com/automatic-ripping-machine/automatic-ripping-machine/wiki/Building-ARM-docker-image-from-source https://github.com/automatic-ripping-machine/automatic-ripping-machine/wiki/Docker-Troubleshooting

Automatic Ripping Machine (ARM)

CI Publish Docker Image Docker

GitHub forks GitHub stars GitHub issues GitHub pull requests GitHub contributors GitHub last commit

GitHub license

GitHub release (latest by date) GitHub release Date Python Versions

Wiki Discord

Overview

Insert an optical disc (Blu-ray, DVD, CD) and checks to see if it's audio, video (Movie or TV), or data, then rips it.

See: https://b3n.org/automatic-ripping-machine

Features

  • Detects insertion of disc using udev
  • Determines disc type...
    • If video (Blu-ray or DVD)
      • Retrieve title from disc or OMDb API to name the folder "Movie Title (Year)" so that Plex or Emby can pick it up
      • Determine if video is Movie or TV using OMDb API
      • Rip using MakeMKV or HandBrake (can rip all features or main feature)
      • Eject disc and queue up Handbrake transcoding when done
      • Transcoding jobs are asynchronously batched from ripping
      • Send notifications via IFTTT, Pushbullet, Slack, Discord, and many more!
    • If audio (CD) - rip using abcde (get disc-data and album art from musicbrainz)
    • If data (Blu-ray, DVD, DVD-Audio or CD) - make an ISO backup
  • Headless, designed to be run from a server
  • Can rip from multiple-optical drives in parallel
  • Python Flask UI to interact with ripping jobs, view logs, update jobs, etc

Usage

  • Insert disc
  • Wait for disc to eject
  • Repeat

Requirements

  • A system capable of running Docker containers
  • One or more optical drives to rip Blu-rays, DVDs, and CDs
  • Lots of drive space (I suggest using a NAS) to store your movies

Install

For normal installation please see the wiki.

For docker installation please see here.

For WSL Integration please see here

Troubleshooting

Please see the wiki for troubleshooting.

Contributing

Pull requests are welcome. Please see the Contributing Guide

If you set ARM up in a different environment (hardware/OS/virtual/etc.), please consider submitting a howto to the wiki.

License

MIT License

Install automatic-ripping-machine on Unraid in a few clicks.

Find automatic-ripping-machine in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for automatic-ripping-machine Review the template variables and paths Click Install

Categories

Download Statistics

207,342
Total Downloads
2,301
This Month
7,298
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
1337server/automatic-ripping-machine:latest
Last Updated2026-04-22
First Seen2024-07-24

Runtime arguments

Web UI
http://[IP]:[PORT:8080]/
Network
bridge
Shell
sh
Privileged
true
Extra Params
--runtime=nvidia --gpus all --device /dev/sr0 --device /dev/sg1

Template configuration

Webserver portPorttcp
Target
8080
Default
8080
Value
8088
NVIDIA_DRIVER_CAPABILITIESVariable
Value
all
NVIDIA_VISIBLE_DEVICESVariable
Value
GPU-9152780a-a0e6-3877-b6fd-01ec4b6c22be
PUIDVariable
Target
ARM_UID
Default
1001
Value
1001
PGIDVariable
Target
ARM_GID
Default
1001
Value
1001
appdataPathrw
Target
/home/arm
Default
/mnt/user/appdata/ARM/
Value
/mnt/user/appdata/ARM/
Host Path 2Pathrw
Target
/home/arm/Music
Default
/mnt/user/appdata/ARM/music
Value
/mnt/user/appdata/ARM/Music
Host Path 3Pathrw
Target
/etc/arm/config
Default
/mnt/user/appdata/ARM/config
Value
/mnt/user/appdata/ARM/config
Host Path 4Pathrw
Target
/home/arm/logs
Default
/mnt/user/appdata/ARM/logs
Value
/mnt/user/appdata/ARM/logs
Host Path 5Pathrw
Target
/home/arm/media
Default
/mnt/user/appdata/ARM/media
Value
/mnt/user/appdata/ARM/media