YATM aka Yet Another Tape Manager
YATM is an open-source archive manager for LTFS tapes and already-mounted disk Volumes. It separates logical Library organization from physical archive copies, keeping ordinary files recoverable without a YATM-specific storage format.
The v1 Alpha line is intended for evaluation. It includes live Location file management, persistent saved versions and a unified Scan workflow. See GitHub Releases for available versions, changes and limits. v0.1.x remains the stable release.
Features
- Archive and Restore on Tape, HDD, and HM-SMR Media, with streaming SHA-256 verification through ACP.
- LTFS storage-order reads, append to compatible Tapes, and hardware-encryption integration through configured device scripts.
- A logical Library with folders, Tags, notes, paginated boolean search, and Chonky-based dual-pane browsing.
- Content-addressed image/video Previews independent of archive Media.
- Mounted Volume content access, automatic validated Scan publication, and metadata-only Media deletion.
- Live registered directories, optional basic collection, shared Library/Location organization and query filters, and selected Archive.
- Typed gRPC services and durable Archive, Restore and Scan Jobs. Archive and Restore retain completed work between explicit Media selections; recreating a Job opens its creation form for review and manual submission. Scan supports optional hashing, content lookup, previews, inventory publication and recorded-copy verification; ordinary file operations remain request-bound.
Tape workflows require compatible LTFS hardware/software; Volume-only workflows do not require a Tape drive. See installation requirements.
Get Started
The default installer selects the stable release. Install or upgrade the Alpha using its exact-version installer; no local compilation is required:
curl --fail --location --output install-release.sh \
https://raw.githubusercontent.com/samuelncui/yatm/v1.0.0-alpha.2/install-release.sh
sudo bash install-release.sh --version v1.0.0-alpha.2 --check
sudo bash install-release.sh --version v1.0.0-alpha.2
Run with permission to manage the installation and systemd service. See Installation and Configuration for prerequisites and fresh-install configuration. Existing v0.1.x installations follow the upgrade guide; review it before proceeding. The installer displays that guide from the verified release package and asks for approval before stopping the service.
For an isolated local review environment from a source checkout, run:
make demo
See Local Demo for reset behavior and safety boundaries. The Demo uses disposable data and does not exercise a physical Tape drive.
The release includes yatm-cli and an optional agent Skill. Linux amd64/systemd is the primary installation target; other platform archives are experimental.
Documentation
- Documentation index
- Library and Volume workflows
- Live Locations and Scan
- Domain glossary and current architecture
- Development layout, checks and delivery gates
Repository documentation describes only the current implementation and operating procedures. Published change history belongs to GitHub Releases; proposals and implementation plans live in Issues or pull requests until their durable result is incorporated into the current documentation.
Thanks
- lto-info provides the basis for Tape inspection, extended here to read the cartridge barcode. Thanks, @speed47!