Skip to content

EliasDerHai/rust-file-sync

Repository files navigation

Cross-platform file sync via Raspberry Pi. Written in Rust.

Tested on Arch, openSUSE, Windows, macOS and Raspbian.

About

Allows tracking of "watch-groups" across several devices - most recent version will be pushed to all clients.

Example watchgroup:

  • obsidian-vault Example clients:
  • desktop (arch) : obsidian-vault
  • macbook (home) : obsidian-vault
  • macbook (work) : obsidian-vault

-> background service syncs file changes from eg. home mac to his peers.

Sync.mp4
  • some additional features for monitoring, local link-share incl. pwa with mobile support (local first) & whatever else I might come up with :D

Run

Server:

# one time
./setup.sh 
./run_server.sh

Client:

cp ./config.yaml.template config.yaml
cargo run -p client

Deploy

check ./deploy/ there are scripts for clien & server. make sure to adapt them to your needs (eg. server deployment to pi assumes ssh setup)

Run as OS service: systemctl (Linux), nssm (Windows), launchctl (macOS).

About

"live"-sync files - aka google-docs for offline people

Resources

License

Stars

Watchers

Forks

Contributors