Skip to content

Repository files navigation

ARM Sharp

C# .NET 10 port of automatic-ripping-machine — a drop-in Docker replacement for optical disc ripping with feature parity.

Quick Start

# Run the CLI (disc identification + rip + transcode)
docker run --rm --privileged \
-v /dev/sr0:/dev/sr0 \
-v /opt/arm:/home/arm/media \
ghcr.io/negativeeddy/arm-sharp:latest cli --device /dev/sr0
# Run the Web UI
docker run -d --privileged \
-p 8080:8080 \
-v /dev/sr0:/dev/sr0 \
-v /opt/arm:/home/arm/media \
ghcr.io/negativeeddy/arm-sharp:latest webui

Features

  • DVD rip: Identify → CRC64 → MakeMKV → HandBrake transcode → move → notify
  • Blu-ray rip: Identify → MakeMKV → HandBrake transcode → move → notify
  • Audio CD rip: MusicBrainz lookup → abcde rip
  • Data disc: dd-based raw rip
  • Web UI: ASP.NET Core MVC with real-time SignalR notifications, job history, log viewer, settings

Architecture

ProjectDescription
ArmRipper.CoreBusiness logic: identification, ripping, transcoding, metadata, notifications
ArmRipper.CliConsole entry point for headless operation
ArmRipper.WebUiASP.NET Core MVC + Razor Pages web interface
ArmRipper.Core.TestsxUnit tests (52+ tests)

Configuration

Configuration is DB-first: runtime settings are stored as overrides in the database (ripper_settings) and always win. /etc/arm/config/arm.yaml is no longer loaded at startup — use the "Import ARM settings" action in the Settings UI to pull legacy ARM values into the DB once. appsettings.json supplies file defaults.

Key paths (configurable via arm.yaml):

  • Raw rips: /home/arm/media/raw
  • Transcoding: /home/arm/media/transcode
  • Completed: /home/arm/media/completed
  • Logs: /home/arm/logs
  • Database: /etc/arm/config/arm.db

Development

dotnet build # 0 warnings, 0 errors
dotnet test# 52/52 passing
dotnet run --project src/ArmRipper.Cli -- --device /dev/sr0 --test
dotnet run --project src/ArmRipper.WebUi

Docker Build

docker build -t arm-sharp .
docker run --rm arm-sharp cli --help
docker run --rm arm-sharp webui

GPU Passthrough

# NVIDIA
docker run --gpus all ...
# Intel QSV
docker run --device /dev/dri:/dev/dri ...
# AMD VAAPI
docker run --device /dev/dri:/dev/dri ...

License

MIT

About

C# port of automatic-ripping-machine with enhancements (Linux only)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages