Bittorent Sync Rock-on

This is a dedicated topic for Bittorrent Sync Rock-on. Let it be our knowledge base and a running discussion thread for everything related to this Rock-on.

Reply with your questions, tips, requests, answers or anything else related to this topic, but please keep them specific to Bittorrent.

hi,

when does the rock-on getting updated?
or is there any way for me to exchange the binary with the one provided on the homepage directly on the server?
Another thing to mention, the rock-on uses a 32bit binary, rockstor only runs on 64bit hardware, so why not using 64 bit for btsync?

thanks

the rockons use docker as a backend, if setup properly one could just stop the running container, remove it and start the new one with the same parameters as the previous.
the only exception is if the new container somehow needs some sort of migration for the permanently stored data (eg some database)

if those requirements are met it should be easy for rockstor to autoupdate those container

this sounds great.
but I am still not familiar with docker and for me it would just be nice to click update :wink:
however creates or wherever this rock-on/docker gets fetched, it is important that they do get update as well.
for btsync I am now in trouble because they changed the licensing in the new 2.2 release,. I am pro user and some boxes are now using the new license, some the old and the old experies someday now.

whoever, however, provided the bsync docker, I would love to see an update, or write someone to update it, or whatever. who is the source of the docker containers used as rock-ons anyhow?

Here’s the docker image used: https://hub.docker.com/r/aostanin/btsync/

I am also working with Bittorrent guys to provide an official image. That would be ideal and they are willing to do so.

i dont know how it is done right now ( it seems only /data is shared, i guess the settings are stored in the container), for future containers the prefered way is to include the settings dirs as shared too so one can just replace the container to update the app. Im sure the bittorrent guys know that, but if not you can forward it to them. would be a shame if the official container lacks that :smiley:

when such a container exists a simple

docker stop <container>
docker rm <container>
docker run <btsync:latest>

can be implemented into the gui for the upgrade, the parameters for run may vary ofc.

hmm this image was successfully build 3 month ago the last time.
from there on it failed.

so something is strange, and hopefully bittorrent is providing a docker image, until that - I need a fix for mine, who is using btsync and already upgraded successfully ?

in the meantime you can easily upgrade btsync yourself (btw it should be x64 by default, you might confuse the number behind the version with the architecture)

i checked the container, the initial download of the btsync package seems broken, initial install was version 2.0.125, upgraded to 2.2.1 within the container successfully.

to upgrade you have to:

  1. get the current linux version: https://download-cdn.getsyncapp.com/stable/linux-x64/BitTorrent-Sync_x64.tar.gz

either by downloading it from there on your ssh client and transferring it to the host or by simply typing

wget --no-check-certificate https://download-cdn.getsyncapp.com/stable/linux-x64/BitTorrent-Sync_x64.tar.gz

on the host.

  1. untar using something like winrar/7zip or

    tar -xvf BitTorrent-Sync_x64.tar.gz

  2. copy the btsync executable to your /data directory originally configured with the container, eg. /mnt2/home

  3. on the cli type:

    docker ps

to show the list of running containers. There should be your btsync rock-on, one line should look something like

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                    NAMES
73741a442dcf        aostanin/btsync     "/start.sh"         13 minutes ago      Up 2 minutes        0.0.0.0:3369->3369/tcp, 0.0.0.0:8888->8888/tcp, 0.0.0.0:3369->3369/udp   btsync

make note of the container id

  1. open a bash shell in the btsync container:

    docker exec -i -t containerID bash
    where containerID is the previously noted id.

  2. the command promt should have changed to root@containerID:/# , type:

    cp /data/btsync /btsync-current
    chmod +x /btsync-current

  3. change the start.sh to start the btsync-current instead of btsync:

    vi /start.sh
    move the cursor behind the btsync in the last line and press i, then type -current so it points ot the right executable, then press ESC and type :wq to exit the insert mode, write and quit.
    After inserting -current the line should look like this:

    /btsync-current --nodaemon --config /data/btsync.conf

  4. now just type exit to get back to the host and stop/start the btsync rock-on

for future upgrades repeat the same procedure for now as there is no official upgrade path for the docker container.
Just remember to change the suffix for the btsync executable with every upgrade to something different as you cant overwrite the file while its in use and i have not searched for another way around to kill the server without shutting down the whole container because the script exits.

@suman it might be possible for you to pull the image, modify the start.sh to do some automatic checking for a new version and replace the current btsync with the eventually new one, wget -N should suffice. after this change you could save the container to an image and publish it on the docker hub and use this modified version instead for btsync
if the official version is just to be released ignore this ofc :smiley:

3 Likes

I tested it, and it worked. I found some small mistakes, which should be fixed for future readers :smile:

Downloading btsync

wget --no-check-certificate https://download-cdn.getsyncapp.com/stable/linux-x64/BitTorrent-Sync_x64.tar.gz

The line after using VI should look like this

/btsync-current --nodaemon --config /data/btsync.conf

and save and write is done using :wq but before that you need to hit ESC which is essential for vi :smile:

Otherwise I am up to date now :smile:
thanks

what about choosing limetechs docker images
https://hub.docker.com/u/limetech/

could that work, I am sure they try to keep them updated.

i edited the no certificate option and ESC into my post and stated the finished result for clarification, one forgets about esc easily when besing used to vi :smiley:

as far as i can see the limetech dockerfile seems, hm, bad :smiley:
without the added files you cant build it yourself so for upgrades which dont happen inside the container you rely on the maintainer, and the image is last build when it got created :smiley:

if i remember correctly the image currently used can be built by anyone, so setting up a rockstor/btsync repo should be possible by just copying the dockerfile (and maybe changing some lines)

one just needs to change the repo name in rockstor to point to the rockstor-staff-maintained version

Howdy.

BitTorrent has a Sync docker image for RockStor:
https://hub.docker.com/r/bittorrent/rockstor-sync/

Is it possible to replace the current rock-on with this?

I have tried doing so manually by:

  1. Install the normal rock-on.
  2. Delete the container.
  3. Build a new container using the old container name & the desired Docker image.

However it errors out. Judging from the logs, it is launching the btsync rock-on by container ID rather than name, which is smart in normal operation but is causing issue here. I am not yet sure if one is able to force a set ID upon a container.

I am very much looking forward to the community container feature being implemented but until then, is there a way to replace this rock-on with an official docker image from BTSync or my own custom one?

1 Like

this is awesome, as it seem rockstor really managed to get its own official bittorrent docker image made by bittorrent itself :smile:

:thumbsup:

In light of the reality that release 10 did not come with community RockOn support, what is the best way to customize RockStor to use BitTorrent’s official BTSync RockOn?

Hello,

I’m trying to install btsync, rock-on, it doesn’t work. I get this error:

“Failed to install in the previous attempt. …”

supervisord_ztask-daemon_stderr.log file contains this error message:
“error running the command” that is related to btsync install… “Error: aostanin/btsync:latest not found” …

Seems the page doesn’t exist on Docker.

Thanks!

Hello,

by the way, I updated the btsync Rock-On to the official btsync Docker-Container.
You can find it here:
https://github.com/henfri/rockon-registry
@Suman: Did you see my pull-request?

Regards,
Hendrik

Hi @henfri

Is there a way to use your rockon-registry for the Rock-ons service? (temporarily, until your PR is merged…)

Thanks!

Hello,

not really. Nothing that I could recommend :frowning:
@Suman: This is really hampering me supporting the development. There is no proper way for me to test the modifications I did.

Greetings,
Hendrik