Installation
Frostholm ships as a single static binary with no runtime dependencies. Pick whichever method fits your workflow.
go install (recommended)
Requires Go 1.21 or later.
go install github.com/e-var/frostholm/cmd/fh@latest
This places fh in your $GOPATH/bin. Make sure that's on your $PATH.
Homebrew (macOS / Linux)
brew tap e-var/tap
brew install frostholm
The tap is updated automatically when new versions are tagged.
Pre-built binary
Download from the GitHub releases page. Binaries are available for:
linux/amd64linux/arm64darwin/arm64(Apple Silicon)darwin/amd64(Intel Mac)windows/amd64
# Example: Linux amd64
curl -Lo fh https://github.com/e-var/frostholm/releases/download/v0.4.2/fh-linux-amd64
chmod +x fh
sudo mv fh /usr/local/bin/
Verify the SHA256 checksum against checksums.txt in the same release.
Install script
curl -fsSL https://frostholm.fun/install.sh | sh
The script detects your OS and architecture, downloads the matching binary, verifies the checksum, and places it in /usr/local/bin. Inspect the script before piping to sh — it's straightforward.
Five-minute quickstart
Once fh is on your PATH:
1. Initialize a repository
# Local repository on an external drive
fh init --repo /Volumes/MyDrive/frostholm-home
# You'll be prompted for a repository password.
# Store it somewhere safe — there's no recovery if you lose it.
2. Run your first backup
export FH_REPO_PASSWORD="your-passphrase"
fh backup --repo /Volumes/MyDrive/frostholm-home ~/Documents ~/Pictures
# Output:
# scanning... 14,822 files (23.4 GB)
# new chunks: 8,201 (21.1 GB)
# deduped: 6,621 (2.3 GB)
# snapshot a4f9c12e saved in 4m 32s
3. List snapshots
fh snapshots --repo /Volumes/MyDrive/frostholm-home
# ID Date Size Files Tags
# a4f9c12e 2026-04-12 09:14:03 23.4 GB 14,822 -
4. Verify integrity
fh check --repo /Volumes/MyDrive/frostholm-home
# checking index... ok
# spot-checking chunks (5%)... ok
# all checks passed
Run
fh check --full occasionally (weekly or monthly) to verify every chunk.
Spot-check is fast but samples only 5% of pack files.
5. Restore a file
# Restore a single file from the latest snapshot
fh restore --repo /Volumes/MyDrive/frostholm-home \
--snapshot latest \
--include "Documents/taxes/2025.pdf" \
--target /tmp/recovered
# Or restore everything
fh restore --repo /Volumes/MyDrive/frostholm-home \
--snapshot a4f9c12e \
--target /tmp/full-restore
Automate with cron
# Add to crontab (crontab -e)
# Daily backup at 02:30
30 2 * * * FH_REPO_PASSWORD="passphrase" /usr/local/bin/fh backup \
--repo /Volumes/MyDrive/frostholm-home \
~/Documents ~/Pictures \
>> /var/log/frostholm.log 2>&1
See the full documentation for retention policies, multiple repositories, and backend configuration.