C# .NET 10 port of automatic-ripping-machine — a drop-in Docker replacement for optical disc ripping with feature parity.
# 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
- 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
| Project | Description |
|---|---|
ArmRipper.Core |
Business logic: identification, ripping, transcoding, metadata, notifications |
ArmRipper.Cli |
Console entry point for headless operation |
ArmRipper.WebUi |
ASP.NET Core MVC + Razor Pages web interface |
ArmRipper.Core.Tests |
xUnit tests (52+ tests) |
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
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 -t arm-sharp .
docker run --rm arm-sharp cli --help
docker run --rm arm-sharp webui# NVIDIA docker run --gpus all ... # Intel QSV docker run --device /dev/dri:/dev/dri ... # AMD VAAPI docker run --device /dev/dri:/dev/dri ...
MIT