catacomb/docs/src/installation.md
Luna 3f611849af docs: rename yt-offline → Catacomb across README, ROADMAP, guides, packaging
Prose + commands updated to the new name: brand reads "Catacomb", while
binary/path/package references are the lowercase `catacomb` (commands, deb/rpm
names, ~/.local/share/catacomb, catacomb.db, catacomb.desktop). Codeberg repo
URLs left pointing at the existing repo. Also folds in the pending doc edits
from earlier in the session.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 03:34:18 -07:00

2.5 KiB

Installation

Catacomb is a single Rust binary. You can install a prebuilt package, build from source, or grab the AppImage.

Runtime dependencies

Whichever way you install, these are invoked as subprocesses at runtime:

  • yt-dlp — the download engine. You can use the system one or let catacomb manage a bundled copy (see First run).
  • ffmpeg — muxing, format conversion, on-the-fly transcode for the web player.
  • mpv — the default desktop player (any player taking a file path works; set it in Settings).
  • xdg-utilsxdg-open for "Show in file manager".

Prebuilt packages (Linux)

Releases attach .deb, .rpm, and .AppImage artifacts.

# Debian / Ubuntu / Mint
sudo apt install ./catacomb_*_amd64.deb

# Fedora / RHEL / openSUSE   (ffmpeg via RPM Fusion)
sudo dnf install ./catacomb-*.x86_64.rpm

# Any Linux — AppImage
chmod +x catacomb-*-x86_64.AppImage
./catacomb-*-x86_64.AppImage

Arch / CachyOS / Manjaro

A PKGBUILD ships in the repo root. Build it from a clean directory:

mkdir build && cd build
cp /path/to/repo/PKGBUILD .
makepkg -si

For repeated builds after pulling new commits, always pass -C (cleanbuild) so makepkg re-checks out the latest source instead of reusing a stale cached clone.

From source

# Debian/Ubuntu build deps
sudo apt install build-essential pkg-config curl git python3-venv \
  libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev \
  libxkbcommon-dev libssl-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

git clone https://codeberg.org/anassaeneroi/catacomb
cd catacomb
cargo build --release
./target/release/catacomb           # desktop GUI
./target/release/catacomb --web 8080  # headless web server

python3-venv is only needed for the bundled-yt-dlp install path; skip it if you'll always use system yt-dlp.

Windows / macOS

Windows is available as a release zip when built through scripts/package.sh win or tag-release CI. It includes catacomb.exe, the license, and a short runtime-dependency README; install yt-dlp, ffmpeg, and mpv / mpv.net on PATH.

macOS has a local osxcross packaging path (scripts/package.sh mac) that assembles an unsigned .app zip when you provide an Apple SDK locally. It is not built in public CI because the SDK cannot be redistributed, and codesigning/notarization remain follow-ups. See packaging and the architecture notes.