No description
Find a file
iampegram 7855364d01
Some checks failed
Quality Checks / Test A.R.M UI (push) Has been cancelled
Quality Checks / Analyze (push) Has been cancelled
Publish Docker Image / publish-docker-image (push) Has been cancelled
Run ShellCheck / shellcheck (push) Has been cancelled
[BUGFIX] Fix makemkv job progress (#1736)
* Fix makemkv progress log path (Fixed the duplication in the log path on line 115 (Fixes #1734)
Fix makemkv stage text (Updated the progress reading logic to properly find the last PRGV and PRGC lines)
Add ETA and Track counter for makemkv (Created a text file where each job saves a timestamp when the track rip begins and use the percent complete to provide an ETA)

* Bump version from 2.23.1 to 2.23.3

---------

Co-authored-by: Mtech <62650032+microtechno9000@users.noreply.github.com>
2026-06-11 19:01:38 +09:30
.github Bump docker/setup-buildx-action from 4.0.0 to 4.1.0 (#1765) 2026-06-11 18:58:11 +09:30
arm [BUGFIX] Fix makemkv job progress (#1736) 2026-06-11 19:01:38 +09:30
arm-dependencies@e944a515f5 Merge pull request #1751 from automatic-ripping-machine/dependabot/submodules/arm-dependencies-e944a51 2026-06-11 18:57:46 +09:30
arm_wiki [Bugfix] Add wiki documentation for Podman support (#1695) 2026-03-12 20:37:11 +10:30
devtools [BUGFIX] UI Progress Bar and Old ARM Version Removal (#1414) 2025-07-01 22:04:51 +09:30
docs fix: remove executable bit from files which don't need it 2025-07-29 18:38:59 +02:00
scripts #1705 Graceful shutdown of armui service 2026-03-13 09:59:38 +10:30
setup #1705 Graceful shutdown of armui service 2026-03-13 09:59:38 +10:30
test [BUGFIX] - Fix track filename mismatch issue #1530 (#1594) 2025-11-04 21:12:56 +10:30
.codeclimate.yml Revert "Revert "Merge branch 'v2_devel' of https://github.com/1337-server/automatic-ripping-machine into v2_devel"" 2022-03-22 10:22:37 +00:00
.codecov.yml Reverting main feature test as it causes issues in some cases. automatic-ripping-machine/issues/446 2021-08-17 22:18:42 +01:00
.dockerignore Squashed commit of the following: 2022-07-04 23:16:36 +01:00
.gitignore Merge remote-tracking branch 'origin/v2_devel' into v2_master 2023-01-13 22:44:02 +00:00
.gitmodules Update .gitmodules (#602) 2022-10-28 06:16:23 +01:00
.pylintrc changed around check_db_version and duplicate_run_check - to lower chances of db errors 2022-04-08 20:25:37 +01:00
CHANGELOG.md Merge branch 'pr/485' into v2_devel 2022-04-29 08:28:28 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-04-30 03:09:18 +01:00
CONTRIBUTING.md fix: remove executable bit from files which don't need it 2025-07-29 18:38:59 +02:00
Dockerfile Bump automaticrippingmachine/arm-dependencies from 1.7.2 to 1.7.3 2026-03-12 21:32:56 +00:00
favicon.ico Adding more info to settings.html->General info 2022-05-03 01:02:37 -07:00
LICENSE updated LICENSE 2022-03-12 20:26:00 -07:00
README.md WSL Pre-reqs (#1642) 2026-01-20 22:57:27 +10:30
requirements.txt Bump flake8 from 7.2.0 to 7.3.0 (#1760) 2026-06-11 18:58:21 +09:30
SECURITY.md fix: remove executable bit from files which don't need it 2025-07-29 18:38:59 +02:00
setup.cfg fix: remove executable bit from files which don't need it 2025-07-29 18:38:59 +02:00
VERSION [BUGFIX] Fix makemkv job progress (#1736) 2026-06-11 19:01:38 +09:30

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