Docker (unofficial)

General Discussion in English
Stefan
Posts: 32
Joined: Sat Apr 04, 2020 6:52 pm

Docker (unofficial)

Post by Stefan »

As I love docker and wanted to let Syncovery run inside a container, I searched for a image which is already doing that. I found one from "hlince" which is working really fine, but it was using an outdated Syncovery version. So I created an own one based on his solution but with the latest SyncoeryCL version including the webinterface.

Downloads:
You can find my up2date image here: https://hub.docker.com/r/stefanruepp/syncoverycl
Original image from hlince: https://hub.docker.com/r/hlince/syncovery

Additional information:
hlince implemented it for unraid too. As I do not have an unraid device I cannot say if this is working or not. Please feel free to tell me if you have one. I am also not an docker guru or something like that. In fact that was my first docker image. If there is something which can be made better, please let me know. (But don't worry I am using it on some devices on a daily base without any troubles. I am also using it daily without any troubles.)

Source code:
Feel free to checkout the source code for the container (based on hlince source code). There is also a Dockerfile for Alpine which should work. But I am not using it for two reasons: 1. you need to install glibc from third party (for me it feels a bit work around und therefor unstable) 2. the container size is after all bigger than using Ubuntu.
URL: https://github.com/MyUncleSam/docker-syncovery

Automatic image generation (with jenkins):
Using jenkins I am monitoring the downloadpage of syncovery (every 15 minutes). If the version is changing, it is extracting the download link of the newest version and the version number. Using these information an automatically docker image build is triggered and uploaded to hub.docker.com - so the image should be as up2date as possible.
If you want to know how it is done: https://github.com/MyUncleSam/docker-sy ... tic-builds

Syncovery Remote Service
To have all services as docker images available I also created a standalone image for the remote service. As I am not using it, I only did some basic test which seems to work. If you have more details about how to use it correctly or find any errors, feel free to report them to me.
Link to Image: https://hub.docker.com/repository/docke ... veryremote
Linkl to description: https://github.com/MyUncleSam/docker-sy ... oteservice
Last edited by Stefan on Mon Jun 14, 2021 8:45 pm, edited 4 times in total.

tobias
Posts: 679
Joined: Tue Mar 31, 2020 7:37 pm

Re: Docker (unofficial)

Post by tobias »

Many thanks for sharing this! I haven't tried Docker myself yet but I will surely do it soon.

Squirms
Posts: 1
Joined: Tue Jan 19, 2021 2:42 pm

Re: Docker (unofficial)

Post by Squirms »

Hi there,

I am trying to run this docker but the username and password don't seem to work. In the readme it is provided as default/pass however this does not work. Any help?

Regards

Stefan
Posts: 32
Joined: Sat Apr 04, 2020 6:52 pm

Re: Docker (unofficial)

Post by Stefan »

Hi Squirms,

the docker image is made with the original syncovery files. Nothing is modified here.

Syncovery is creating a folder called ".Syncovery" inside the config folder with default values. So the default username and password is the one syncovery is using - and this should be username: default password: pass

The docker image is created using the files from my github account and inside you can see that I am not modifying anything, I am just providing the environment that syncovery can be run inside a docker container.

There is a way to modify the docker config file. For this you need to do the following steps:
1. Stop the docker container

2. Execute the following command, please make sure to mount the config folder you are using in your normal container!
In this example it is "/opt/docker/syncoverycl/config".
docker run -it --rm -v /opt/docker/syncoverycl/config:/config --entrypoint "/bin/bash" stefanruepp/syncoverycl

This should now open you a commandline inside the container (but without starting syncovery).

3. Execute the command you need. This could be anything. You can find the SyncoverCL here: /syncovery/SyncoveryCL
To change the web login to default/pass simply use (change it if you want): /syncovery/SyncoveryCL SET /WEBUSER=default /WEBPASS=pass
(You can find these in the documentation of syncovery. See here: https://www.syncovery.com/download/linux/)

4. After changing everything you needed, press CTRL+d to close the current shell.

5. Start your container again - now the login is the one you provided in step 3.

What is this doing?
The image is just providing the executables. The configuration of syncovery is placed inside the "/config" folder which should be mounted to a local folder (see the documentation). If you start the container the normal way, it is directly starting the web ui using the information from "/config".
Syncovery gives you the possibility to change some things like the login credentials. To do so syncovery should not run. But if you start your syncovery container, it always directly starts it. So in step 2 another container is created with the same image and started. The only difference is, that using the command --entrypoint the default executed file is changed from syncovery to the bash shell. With this you get a commandline inside the container.

Now if you mounted the correct "/config" folder, you can modify it using syncovery default possibilities as described in step 3. After you have finished simply logout of the current shell e.g. by pressing CTRL+d. Now if you start your normal syncovery container again, it uses the modified files from the "/config" folder of the docker container.

Stefan
Posts: 32
Joined: Sat Apr 04, 2020 6:52 pm

Re: Docker (unofficial)

Post by Stefan »

Small update:
  • it is now possible to get most up2date v8 version ('ubuntu-v8' and 'alpine-v8')
  • to be able to stick with version 9 you can use 'ubuntu-v9' and 'alpine-v9'
  • 'ubuntu-latest', 'alpine-latest' and 'latest' are going to representate the most up2date versions of syncovery

tobias
Posts: 679
Joined: Tue Mar 31, 2020 7:37 pm

Re: Docker (unofficial)

Post by tobias »

Hello,
many thanks for this contribution!

Stefan
Posts: 32
Joined: Sat Apr 04, 2020 6:52 pm

Re: Docker (unofficial)

Post by Stefan »

In the past months there was a detection problem which caused that the image was built once a day even if there was no new version available.

So I redesigned my automatical build process and the image for the container. The importent changes are:
  • added syncovery guardian
  • added syncovery remote service
  • new method to detect changes (hopefully this stops unneeded builds)
  • new build process which should make things easier and better
So if there are any troubles - feel free to create an issue on the github page: https://github.com/MyUncleSam/docker-syncovery

Stefan
Posts: 32
Joined: Sat Apr 04, 2020 6:52 pm

Re: Docker (unofficial)

Post by Stefan »

In the current release there is a small bug which prevents smb / windows share connections from working. If you are using that it could be that you are getting some error messages about a missing command or something like that.

I am going to fix that today evening.

tobias
Posts: 679
Joined: Tue Mar 31, 2020 7:37 pm

Re: Docker (unofficial)

Post by tobias »

Thanks for the updates and for the info!

Stefan
Posts: 32
Joined: Sat Apr 04, 2020 6:52 pm

Re: Docker (unofficial)

Post by Stefan »

So bug is fixed and new image is uploaded to the docker hub. Please update if you are using the version 9.35c from 13.06.2021 or earlier. (This is not a security fix but some functions may be not working till you update - like SMB.)

If there are any errors feel free to report them using the git issues: https://github.com/MyUncleSam/docker-syncovery/issues

Post Reply