Request: Add syncthing-inotify to the new apt repository

Continuing the discussion from Debian / Ubuntu packages available:

It would be nice if the syncthing-inotify package was included in this repo as well. It doesn’t need to be installed by default, just available as a separate package for installation via the repo.

Also, +1 for packaging the systemd/init.d scripts along with the syncthing package in the repo.

3 Likes

I think that everything developed under the syncthing github organization and useful on an apt-based system should be available from the apt repository.

I think this would be the list: discosrv syncthing syncthing-cli syncthing-gtk syncthing-inotify

2 Likes

@calmh @Zillode Would you consider this please? It would be so awesome to have a unified source of everything syncthing for all deb based systems. Currently I still have to run an ansible script on every node to setup syncthing + syncthing-inotify and the startup scripts.

Thanks!

Yep, it’s considered (but forgotten, in periods). :wink: At least -inotify is straight forward enough and common enough that we should. I’ll take a stab at it.

3 Likes

Awesome, thanks! Yeah syncthing-inotify is what I’m actually looking for. The other packages would be nice to have, but not as important.

There is now a syncthing-inotify package in the repo. I haven’t tested it though, so give it a spin to see how it works.

@calmh Thank you very much :+1: I’m using it right now and it seems to work just fine. Are the init scripts already included in the package, just like with syncthing itself?

@generalmanager The systemd init scripts are present. After installing run the following to enable the service:

sudo systemctl enable syncthing-inotify@${USER}

Then start the service with:

sudo systemctl start syncthing-inotify@${USER}

Or replace ${USER} in each command with a specific user.

1 Like

@calmh the user service file seems to be at the wrong place; systemd does not find it. The service file in the syncthing package works fine:

syncthing

/.
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/syncthing@.service
/usr
/usr/lib
/usr/lib/systemd
/usr/lib/systemd/user
/usr/lib/systemd/user/syncthing.service

syncthing-inotify

/lib
/lib/systemd
/lib/systemd/user
/lib/systemd/user/syncthing-inotify.service
/lib/systemd/system
/lib/systemd/system/syncthing-inotify@.service

So I guess it should be: /usr/lib/systemd/user/syncthing-inotify.service.

1 Like

When using syncthing on a desktop you should really use the user instance:

systemctl --user start/enable syncthing-inotify.service

This couples syncthing-inotify to a user session; in other words when you login syncthing-inotify is started. When you logout it is stopped. You can use that approach for syncthing as well, using

systemctl --user start/enable syncthing.service
1 Like

Whoops. File a PR on build-deb.sh in syncthing-inotify, I’m out and about. :slight_smile:

Thanks @rumpelsepp, today I learned. Also yeah, the user service file is in the incorrect place to make this work.

Does syncthing-inotify “queue” events when Syncthing is not available, and then deliver them to Syncthing when it is available again? Or are they lost?

It queues them, unless inotify get a confirmation message that Syncthing actually restarted, instead of being temporary unresponsive. When Syncthing restarts it actually scans the entire folder so inotify does not need to inform about the changes again.

1 Like

I’ve built and published a new package (0.6.7-14-g7ace783; @Zillode should we tag a new version?).

I’m repeatedly amazed at the speed of development here! I just slept a few hours and in between someone posted the commands to bind syncthing-inotify to a user session (I’m running it on a server in this case), noted that something was wrong, fixed it and a new version has already been merged and released. Hats off to you guys! :mortar_board: ← that’s the only hat I could find

4 Likes

Done

I think you need to push the tag as well :smiley:

Apart from that, a push to Github should in theory trigger a build which gets published to the APT repo if successful.

It was pushed, see GitHub - syncthing/syncthing-inotify at v0.6.8