Sign inSign up

cthelight/rend-wui

By cthelight

•Updated 4 days ago

A webui + rust backend for ripping CDs

Image
0

418

cthelight/rend-wui repository overview

⁠rend-wui

A CD ripper with a browser UI. rend-wui is the web front end of rend⁠: discover drives, inspect the table of contents, look the disc up on MusicBrainz (with cover art from the Cover Art Archive), edit the tags, and rip with live per-track progress pushed over a server-sent events stream. Several drives can rip in parallel, each into its own subdirectory of the output (if desired).

The image is minimal by design: a static musl rend-wui binary plus a stripped-down ffmpeg that only accepts raw PCM and encodes the audio formats rend supports, on scratch — a few MB in total, no shell, no package manager.

Platforms: linux/amd64, linux/arm64/v8

⁠Usage

Hand the container the CD-ROM device and a volume for the output:

docker run -d --name rend \
    --device /dev/sr0:/dev/sr0 \
    -v ~/rips:/output \
    -p 3000:3000 \
    cthelight/rend-wui

Then open http://localhost:3000/⁠. No disc drive handy? Run it with --demo for a simulated disc:

docker run --rm -p 3000:3000 cthelight/rend-wui --demo

⁠Output

Rips are written to /output, named <artist>/<album>/<NN> <title>.<ext> when the disc is identified (flat trackNN.<ext> otherwise). Supported formats: FLAC, MP3, AAC/M4A, Opus, Vorbis/OGG and WAV — format and quality are chosen in the UI.

Metadata (title, artist, album, album artist, year, track numbers, cover art) is looked up on MusicBrainz and embedded into every file. The lookup is best effort and needs outbound internet; without it, rips are simply written untagged.

⁠Configuration

The entrypoint is rend-wui, so any flag it accepts (-F, -T, -d, -f, --demo, …) can be passed after the image name. The settings that matter when running as a service also read the environment (a flag wins over the environment):

  • REND_WUI_HOST — address to bind (defaults to 0.0.0.0 in the image)
  • REND_WUI_PORT — port to bind (default 3000)
  • REND_WUI_OUTPUT_DIR — output directory (default /output)
  • REND_WUI_FORMATS — starting output formats, e.g. flac,mp3:192
  • REND_WUI_TEMPLATE — naming template, e.g. <year>/<album>/<number> <title>
  • REND_WUI_DRIVE_DIRS — always or never give each drive its own subdirectory
  • REND_DRIVE_NAMES — friendly drive names, e.g. sr0=Living Room,sr1=Office
  • REND_DRIVE_ORDER — drives to list first, in order, e.g. sr1,sr0

⁠Notes

  • Multi-drive rips write into per-device subdirectories of the output so track numbers never collide (disableable).
  • The image contains only the two binaries and the shared libraries ffmpeg links against; everything else was left out on purpose.
  • Source and full documentation: https://github.com/cthelight/rend⁠

Tag summary

Content type

Image

Digest

sha256:c32214efa…

Size

5 MB

Last updated

4 days ago

docker pull cthelight/rend-wui