turbo-sync/README.md
2024-10-16 09:40:21 +01:00

87 lines
1.8 KiB
Markdown

# Turbo Sync
A no-nonsense file/folder synchronization application
## Requirements
Turbo sync requires **node js** and **rsync**
## Installation
To install simply run:
```bash
npm install --registry="https://git.tben.me/api/packages/Moduletrace/npm/" -g turbosync
```
To update run:
```bash
npm update --registry="https://git.tben.me/api/packages/Moduletrace/npm/" -g turbosync
```
## Usage
Turbo Sync requires a `JSON` file with the correct configuration. example:
```bash
turbosync ./project/sync/config.json
```
However if you have a file named `turbosync.config.json` in the working directory simply run:
```bash
turbosync
```
In this case Turbo Sync will automatically look for a file named `turbosync.config.json` in the working directory for config params.
### Config File
The config file is a json file that contains all the information needed to run turbosync. Example:
```json
[
{
"title": "Sync Files",
"files": [
"/home/user/file1.txt",
"/home/user/file2.txt",
{
"path": "/home/user/file3",
"user": "root",
"host": "5.34.75.236",
"ssh_key": "/home/user/.ssh/key"
}
]
},
{
"title": "Sync Folders",
"options": {
"delete": true
},
"folders": [
"/home/user/folder1",
"/home/user/folder2",
{
"path": "/home/user/folder3",
"user": "user",
"host": "5.39.67.76",
"ssh_key": "/home/user/.ssh/key"
}
]
}
]
```
You can also use environment variables in the config file. Example:
```json
[
{
"title": "Sync Folders",
"folders": ["$FOLDER_1", "$FOLDER_2"]
}
]
```