Automatic Ripping Machine (ARM) Scripts https://b3n.org/automatic-ripping-machine
  • Python 63.2%
  • HTML 20.8%
  • Shell 8.9%
  • JavaScript 5%
  • CSS 1.5%
  • Other 0.5%
Find a file
Mtech 39fc1e36a2
Revise contributing guide and add wiki reference
Updated the contributing guide to provide a more concise introduction and direct users to the ARM Wiki Contribution Guide for details on how to contribute.
2026-08-01 22:11:43 +09:30
.github Bump github/codeql-action from 4 to 4.37.3 (#1803) 2026-08-01 19:51:00 +09:30
arm [BUGFIX] Don't search the metadata provider for the "not identified" placeholder (#1799) 2026-08-01 19:53:38 +09:30
arm-dependencies@3a04c4d4be Bump arm-dependencies from 1773f53 to 3a04c4d (#1786) 2026-07-10 07:07:02 +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 Revise contributing guide and add wiki reference 2026-08-01 22:11:43 +09:30
Dockerfile Bump automaticrippingmachine/arm-dependencies from 1.7.4 to 1.8.0 (#1787) 2026-07-10 07:07:32 +09:30
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] Don't search the metadata provider for the "not identified" placeholder (#1799) 2026-08-01 19:53: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