Help Setting Up Docker to support a Daemon


Recommended Posts

I'm trying to setup a container that will support a Daemon for Goodsync (file sync system).  I've setup several dockers using a template, but never built a template...and specifically not done anything with a simple daemon process.  The Goodsync Linux Daemon listens for file backup requests, then saves the files in the appropriate place in the file system.  I currently us SMB for backups, but as of 1.6, its not working because of SMB 3.0 issues.

 

To install the daemon, I need to run this file:

 

http://www.goodsync.com/for-linux - I have a 64 bit system.

 

I've seen and read plenty of guides on how to setup a docker from a template, but not on how to build one from scratch.  Any suggestions?  Goodsync is a nice package that works (has) well for me for years.  Nice automation, just runs from a schedule.

 

Thanks in advance for any wisdom...  If anyone is looking for a few beers, I'd be happy to commiserate!  ;D

Link to comment

I really don't have anything to add other than the fact that I was also looking at adding Goodsync to UnRAID, although I was going to do so as a plugin instead of a docker. Although a docker might be easier to get running. I'm pretty busy lately so I haven't been able to look at doing it myself but I would be willing to test if you need testers.

Link to comment

No but I'm pretty sure there is stuff in the wiki about it, somewhere. The real issue though, and the reason I initially thought of a plugin instead of docker, is the fact that this is a command line program and I think making a docker would make it difficult to use and manage whereas a plugin would let you create a nice webui to do that. Maybe someone with more docker experience can attest to managing CLI programs with it. However, if the binary isn't compatible with Slackware then docker might be the only way to go.

 

Have you checked out this:

https://lime-technology.com/forum/index.php?topic=51065.0

Link to comment
  • 3 months later...

If it's a command line program then you'd need to execute into the container to run it...

 

docker exec -it $CONTAINER-NAME /bin/bash

 

I've got a lot of dockers running, but I'm a total noob to creating a template for one.  I've searched through the forums, I've found lots of help to setup an existing docker template, but nothing on what it takes to create a template.  Are you aware of instructions to help noobs learn to create a docker template?  Is that something to learn outside of unRaid?

Link to comment

If it's a command line program then you'd need to execute into the container to run it...

 

docker exec -it $CONTAINER-NAME /bin/bash

 

I've got a lot of dockers running, but I'm a total noob to creating a template for one.  I've searched through the forums, I've found lots of help to setup an existing docker template, but nothing on what it takes to create a template.  Are you aware of instructions to help noobs learn to create a docker template?  Is that something to learn outside of unRaid?

http://lime-technology.com/forum/index.php?topic=40937.msg503195#msg503195 and the following 2 posts
Link to comment
  • 11 months later...

Not sure if you've gotten to it yet, but I got my GoodSync Connect docker working fine using bridged networking, exposing port 33333

 

<?xml version="1.0"?>
<Container version="2">
  <Name>gsdock</Name>
  <Repository>grin/gsdock</Repository>
  <Registry>https://hub.docker.com/r/grin/gsdock/</Registry>
  <Network>bridge</Network>
  <Privileged>false</Privileged>
  <Support/>
  <Overview/>
  <Category>Backup:</Category>
  <WebUI/>
  <TemplateURL/>
  <Icon>https://lh5.ggpht.com/wKQx6--IZ50yitxPX24gbsO2rrehdaGNw9J4rHceHlwNPFrNY7CfCO3UDQub7GrsQr4=w300</Icon>
  <ExtraParams/>
  <DateInstalled>1510755367</DateInstalled>
  <Description/>
  <Networking>
    <Mode>bridge</Mode>
    <Publish>
      <Port>
        <HostPort>33333</HostPort>
        <ContainerPort>33333</ContainerPort>
        <Protocol>tcp</Protocol>
      </Port>
      <Port>
        <HostPort>33338</HostPort>
        <ContainerPort>33338</ContainerPort>
        <Protocol>udp</Protocol>
      </Port>
      <Port>
        <HostPort>33339</HostPort>
        <ContainerPort>33339</ContainerPort>
        <Protocol>udp</Protocol>
      </Port>
    </Publish>
  </Networking>
  <Data>
    <Volume>
      <HostDir></HostDir>
      <ContainerDir>/data</ContainerDir>
      <Mode>rw</Mode>
    </Volume>
  </Data>
  <Environment>
    <Variable>
      <Value></Value>
      <Name>GS_USER</Name>
      <Mode/>
    </Variable>
    <Variable>
      <Value></Value>
      <Name>GS_PWD</Name>
      <Mode/>
    </Variable>
    <Variable>
      <Value>UNRAID Tower</Value>
      <Name>GS_ID</Name>
      <Mode/>
    </Variable>
  </Environment>
  <Config Name="GSTP Port" Target="33333" Default="" Mode="tcp" Description="For Goodsync Connect protocol" Type="Port" Display="always" Required="true" Mask="false">33333</Config>
  <Config Name="GoodSync Broadcast 1" Target="33338" Default="" Mode="udp" Description="GoodSync Broadcast 1 for local net" Type="Port" Display="always" Required="false" Mask="false">33338</Config>
  <Config Name="GoodSync Broadcast 2" Target="33339" Default="" Mode="udp" Description="GoodSync Broadcast 2 for local net" Type="Port" Display="always" Required="false" Mask="false">33339</Config>
  <Config Name="GS_USER" Target="GS_USER" Default="" Mode="" Description="GoodSync Connect Username" Type="Variable" Display="always" Required="false" Mask="true"></Config>
  <Config Name="GS_PWD" Target="GS_PWD" Default="" Mode="" Description="GoodSync Connect Password" Type="Variable" Display="always" Required="false" Mask="true"></Config>
  <Config Name="GS_ID" Target="GS_ID" Default="" Mode="" Description="(optional) GoodSync Connect ID to identify this server" Type="Variable" Display="always" Required="false" Mask="false">UNRAID Tower</Config>
  <Config Name="GoodSync Connect Container Path" Target="/data" Default="" Mode="rw" Description="GoodSync Connect Container Path" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/backups</Config>
</Container>

 

Link to comment
  • 2 weeks later...

Save it as something like "my-goodsync.xml" within /boot/config/plugins/dockerMan/templates-user

 

You can then install it either via apps tab (Previously installed), or via Docker - Add Container, Select my-goodsync from the template drop down.

 

* When installing, add a description to the template.  After its installed, copy /boot/config/plugins/dockerMan/templates-user/my-goodsync.xml to /boot/config/plugins/community.applications/private/JeffreyWHunter/goodsync.xml   -  (Creating the folders as necessary) This step will give you more options in the future to manage this app via the apps tab, but adding the description is mandatory for this to happen.

Link to comment
1 hour ago, Squid said:

Save it as something like "my-goodsync.xml" within /boot/config/plugins/dockerMan/templates-user

 

You can then install it either via apps tab (Previously installed), or via Docker - Add Container, Select my-goodsync from the template drop down.

 

* When installing, add a description to the template.  After its installed, copy /boot/config/plugins/dockerMan/templates-user/my-goodsync.xml to /boot/config/plugins/community.applications/private/JeffreyWHunter/goodsync.xml   -  (Creating the folders as necessary) This step will give you more options in the future to manage this app via the apps tab, but adding the description is mandatory for this to happen.

Perfect thanks!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.