Self-hosted CLI backup tool, made for personal files.
Redstone is an incremental backup application, no need to reupload unchanged files.
This is the client repository. If you’re looking for the server click here.
As of now, the instalation script is only available on linux using systemD, but the code is written to work with all major operating systems.
git clone https://github.com/hammsvietro/redstone.git
cd redstone
./install-linux.sh
systemctl enable redstone.service --user --now
- rust
- cargo
- openssl
- pkg-config
All the available commands can be viewed with:
redstone --help
After installing the client, you should connect to the redstone server and login. The commands for those actions are listed below.
Configure which server the client points to.
# redstone server-config <ADDRESS> [--port 80 --use-https]
$ redstone server-config 192.168.0.67 --port 4000
The address should contain only the hostname (do not specify protocols or ports)
$ redstone auth
Accounts cannot be created via CLI, only in the web page.
Create a new backup and store the data in the server.
# redstone track <backup-name> [path]
$ redstone track my_first_backup .
The specified directory (current by default) will be scanned recursively and all files will be sent to the server
A .rsignore
file can be used to ignore folder and files, similar to .gitignore
Create a copy of a existing backup in the current directory.
# redstone clone <backup-name>
$ redstone clone my_first_backup
All the data stored in the server will be pulled, similar to git clone
Display all new, changed and deleted files.
$ redstone status
Similar to git status
Pull latest changes from the server.
$ redstone pull
Push changes to the server.
$ redstone push
Pushing data is only allowed when the local files are up to date with the server.
Contributions and suggestions are very welcome! Feel free to open an issue.
Redstone source code is licensed under the GPL-3.0 License.