
Edge
Runs on each machine that has files you care about. Finds the folders you marked, packs and encrypts them, and uploads them to Central on a schedule.
Central
The always-on receiver. Stores encrypted snapshots on disk, keeps the most recent ones per job, and lets you browse and download them in a web UI.
Three example machines sending backups to one Central. You can add more Edges.
The short version
1
Pick a machine to run Central
A home server, NAS, or VPS that stays on.
2
Run Edge on each machine you want to back up
Give each Edge a unique
EDGE_ID and a credential minted by Central.3
Mark folders with a .upload_dir file
Any folder containing
.upload_dir becomes a backup job.4
Edge packs and encrypts those folders
Snapshots are encrypted on Edge before they leave the machine.
5
Central stores the snapshots
Browse, download, and verify them from Central’s web UI, or restore them from Edge.
Why the name?
The name works on three levels: it references the 3-2-1 backup rule (keep 3 copies, on 2 different media, with 1 offsite), it reads as a countdown (3, 2, 1, Go!), and the “Go” is the Go language both apps are written in.Why use 3to1go
- Simple Central/Edge model. Central receives and organizes backups. Each Edge owns scanning, encryption, scheduling, and upload retries.
- Encrypted snapshots by default. Edge encrypts archives before upload, so Central never needs access to your plaintext files.
- Instance-aware storage. Central tracks both
edge_idandedge_instance_id, so related machines can be grouped without mixing their snapshots or pruning each other. - Operator-friendly credentials. Central mints Edge credentials from its UI, and can revoke one without deleting any snapshots.
- No giant config file. You mark folders with a small file instead of writing a central backup manifest.
Next steps
Quickstart
Run Central and Edge with Docker and take your first backup.
How it works
Follow a folder from marker to stored snapshot.
3to1go is open source under the MIT License. Source, issues, and example deployments are on GitHub.