Why Not To Use sinkd
sinkd isn’t for everyone. You might want to look elsewhere if:
- You are comfortable with your files on some other computer you do not have physical access to that you are paying for.
- You already have Nextcloud, Dropbox, Azure, Google Drive, iCloud, etc., and find them sufficient.
- You prefer graphical user interfaces over command-line tools.
- Privacy concerns aren’t at the top of your priority list.
Then Why sinkd?
- Privacy by default — your data stays yours.
- Your files, your data, your computer — complete ownership.
- Free and open source — inspect the code, modify it, contribute back.
- Uses rsync as its engine — battle-tested, efficient delta transfers.
- Set-it-and-forget-it philosophy — minimal maintenance required.
- Aimed at power users with low configuration needs.
- Written in Rust for memory safety and performance.
- No cloud dependency — works entirely on your infrastructure.
- Command-line first — scriptable and automatable.
What About Syncthing?
Syncthing
- Written in Go with garbage collection overhead
- Device-to-device only — no local sync
- Doesn’t use the rsync protocol
- GUI-driven, not CLI-first
sinkd
- Written in Rust for memory safety and performance
- Local and remote sync on your infrastructure
- rsync engine for efficient delta transfers
- Command-line first — scriptable and automatable
Features
⚡
Real-time Sync
Leverages inotify for instant file system event detection and immediate synchronization across your fleet.
🔒
Secure Transfer
End-to-end encryption ensures your data remains secure as it traverses the digital seas.
🚀
High Performance
Built with Rust for maximum performance and reliability, ensuring smooth sailing for your data.
🌐
Reliable Delivery
MQTT-based communication guarantees reliable message delivery across your distributed fleet.
Technical Details
Architecture
sinkd uses a modular architecture with four main components:
- File System Monitor (inotify)
- Message Broker (MQTT)
- rsync Engine
- Encryption Layer
Dependencies
- Rust 1.70+
- Linux (for inotify support)
- MQTT Broker
- rsync (optional, can use built-in implementation)