BitTorrent Sync using Resilio Sync
Sync skips the cloud and finds the shortest path between devices when transferring data. No Cloud. No uploading to third party servers. Just fast, simple file syncing.
Based on my alpine micro container with glibc please visit nimmis/alpine-glibc for more information.
This container can run in two different mode:
- web gui mode, all configuration done thru a web interface
- sync mode, sync predefined directory with secret key supplied or generated
These setting applies to both web gui and sync mode
This variable defines the name shown on other nodes, if not defined it will get the name shown with the command hostname
This will start a container with then name database
docker run -d -e RSLSYNC_NAME=database -p 33333:33333 nimmis/resilio-sync
This variable defines if files removed from sync slaves should be put in an archive folder for a time defined by the variable RSLSYNC_TRASH_TIME before removed.
Default value is true, to disable this feature add
to the docker start command
This variable defines how many days a file will be kept in the achive folder before it is removed. The variable is defined i days and the default value is 30 days. To change the time so achive files are saved 1 week add
to the docker start command.
This variable defines the maximum size of files to be synced. The variable is defined in MB and the default value is 1000 MB (1GB).
To change maxmimum file size to 50 MB add
to the docker start command
syncing local files
Inside the container the /data is the default sync directory, to link this to a local file system you can use the -v flag
To sync the the directory /home/joe you can run
docker run -d -v /home/joe:/data -p 33333:33333 nimmis/resilio-sync
web gui mode
This setting activates a web gui to configure the Resilio Sync client
This variable defines the username used to login to the web interface.
Setting this variable activates the web gui mode.
This variable defines the password used to login to the web interface. If this variable is not defined or empty an random password will be generated. The password can be retrieved from the log.
docker run -d -e RSLSYNC_USER=joe --name sync -p 8888:8888 -p 33333:33333 nimmis/resilio-sync docker logs sync Run scripts in /etc/run_once WEBUI mode activated RSLSYNC_PASS not set, password generated, use M2FlMjNkOG as password
In this case you should login with user joe and password M2FlMjNkOG
The sync mode version is made for syncing one directory only (you can manualy configure multiple directories), each directory (or sync point) need a uniq secret key. If you need several different directories synced, start a container for each directory
This variable contains the secret key fore this directory, if empty or missing a new secret key is generated. This key can then be used to start more sync klient for the data.
Run container on first sync node
The first nod creates a uniq secret used to sync all nodes, map the directory you wan't to be syncronized to /data in the container.
Example synk the directory /home/me/data on first nod giving it the name syncnode
docker run -d -v /home/me/data:/data --name sync -p 33333:33333 nimmis/resilio-sync
to see the secret code to use on the other nodes, look at the log-output from the container
> docker logs -f sync Run scripts in /etc/run_once non-WEBUI mode activated, /data is synced add -e RSLSYNC_SECRET=AF2INNKYP672IGIIDTDWWVUBGP2AQRFKX to your other nodes to sync Run scripts is /etc/run_always Started runsvdir, PID is 14 wait for processes to start.... rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted. rsyslogd: activation of module imklog.so failed [v8.18.0 try http://www.rsyslog.com/e/2145 ] run: rslsync: (pid 19) 5s run: crond: (pid 20) 5s run: rsyslogd: (pid 21) 5s
press CTRL-C to exit log
run container on more sync nodes
To get the other nodes to sync with the first, they have to have the same secret key.
You add the key with -e RSLSYNC_SECRET=<secret key>, start with the secret code created
by the first sync container. The local director does not have to be the same as on the
first container but all sub-folders will be the same. So starting a second sync container
on another docker machine using local directory /home/you/sync-backup and using the secret
key obtained from the first sync node example above
docker run -d -v /home/you/sync-backup:/data --name syncnode2 -P 33333:33333 -e RSLSYNC_SECRET=AF2INNKYP672IGIIDTDWWVUBGP2AQRFKX nimmis/resilio-sync
NOTE!!!!! DO NOT USE the secret key in this example, use the one you got from the first sync node run.