feat(doc): Describe auto start of syncthing
authorSteven Baltakatei Sandoval <baltakatei@gmail.com>
Mon, 27 Apr 2020 16:30:55 +0000 (16:30 +0000)
committerSteven Baltakatei Sandoval <baltakatei@gmail.com>
Mon, 27 Apr 2020 16:30:55 +0000 (16:30 +0000)
Create and add `INSTRUCTIONS.md` markdown file containing explanation
for commands needed to enable automatic startup of `syncthing` as a
system (boot) or a user (login) service in Debian 10. Link the
appropriate page at docs.syncthing.net entry for automatic startup.

config-shared/syncthing/INSTRUCTIONS.md [new file with mode: 0644]

diff --git a/config-shared/syncthing/INSTRUCTIONS.md b/config-shared/syncthing/INSTRUCTIONS.md
new file mode 100644 (file)
index 0000000..dd68fb7
--- /dev/null
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+
+# Install and configure `syncthing`
+
+Created by [Steven Baltakatei Sandoval][bktei_2020_homepage] on 2020-04-27T14:37Z under a [CC BY-SA 4.0][cc_20131125_bysa] license and last updated on 2020-04-27T16:28Z.
+
+## 1. Summary
+
+Syncthing is a decentralized file-synchronization program that permits
+sharing of files over the Internet with computers that have been
+configured to trust one another.
+
+## 2. Instructions
+
+The following are instructions for installing Syncthing onto a GNU/Linux Debian 10 machine.
+
+### 2.1. Install `syncthing` via `apt-get`
+
+Update the local repository package lists with `$ sudo apt-get update`.
+
+Install the `syncthing` package with `$ sudo apt-get install syncthing`.
+
+Note: As of 2020-04-27, Debian 10 Buster uses Syncthing version `1.0.0`.
+
+### 2.2. Enable automatic startup via `systemd` service.
+
+Syncthing can be started automatically via `systemd` as a system
+service upon boot or a user service upon login. If `syncthing` was
+installed from the Debian 10 repository (ex: via `apt-get`), then the
+necessary service files (ex: `syncthing@.service` ) should already be
+installed. If not, see the detailed autostart instructions for where
+to download a copy of the service
+files.<sup>[[1]](#syncthing_20200331_autostart)</sup>
+
+#### 2.2.a. Enable automatic startup via `systemd` upon boot (system service).
+
+For a system service, identify the user under which to run
+`syncthing`. Even though `syncthing` will be run upon startup (without
+needing a user to login first), files cannot be created or modified by
+`syncthing` with permissions of a specified user. In this example,
+`baltakatei` will be the user. This means an appropriate directory for
+a `syncthing` shared folder would be `/home/baltakatei/Sync/`.
+
+Alternatively, if `syncthing` were running as a headless server where
+no user is expected to directly modify files in the server's file
+system, then a dedicated dummy user named `syncthing-user` might be
+appropriate.
+
+The commands to create a `systemd` system service under user
+`baltakatei` are:
+
+    $ sudo systemctl enable syncthing@baltakatei.service
+       $ sudo systemctl start syncthing@baltakatei.service
+
+The status of the new system service can be verified via:
+
+    $ systemctl status syncthing@baltakatei.service
+
+#### 2.2.b. Enable automatic startup via `systemd` upon login (user service).
+
+For a user service, identify which user under which to run
+`syncthing`. In this example, `baltakatei` will be the user. This
+means an appropriate directory for a `syncthing` shared folder would
+be `/home/baltakatei/Sync/`.
+
+The commands to create a `systemd` user service under user
+`baltakatei` are:
+
+    $ systemctl --user enable syncthing.service
+       $ systemctl --user start syncthing.service
+
+The status of the new user service can be verified via:
+
+    $ systemctl --user status syncthing.service
+
+## 3. References
+- <a name="syncthing_20200331_autostart">1.</a> ["Starting Syncthing Automatically"][1]. Date: 2020-03-31. [syncthing.net](https://syncthing.net). Date Accessed: 2020-04-27. [Archive link](https://web.archive.org/web/20200414114635/https://docs.syncthing.net/users/autostart.html). Archive date: 2017-04-14.
+
+[1]: https://docs.syncthing.net/users/autostart.html
+[bktei_2020_homepage]: http://baltakatei.com
+[cc_20131125_bysa]: http://creativecommons.org/licenses/by-sa/4.0/
+
+
+<hr>
+<p xmlns:dct="http://purl.org/dc/terms/" xmlns:cc="http://creativecommons.org/ns#">This work by <a rel="cc:attributionURL"  href="http://baltakatei.com"><span rel="cc:attributionName">Steven Baltakatei Sandoval</span></a> is licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=ccchooser" target="_blank" rel="license noopener noreferrer" style="display: inline-block;">CC BY-SA 4.0</a><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=ccchooser"><img style="height:22px!important;margin-left: 3px;vertical-align:text-bottom;opacity:0.7;" src="https://search.creativecommons.org/static/img/cc_icon.svg" /><img  style="height:22px!important;margin-left: 3px;vertical-align:text-bottom;opacity:0.7;" src="https://search.creativecommons.org/static/img/cc-by_icon.svg" /><img  style="height:22px!important;margin-left: 3px;vertical-align:text-bottom;opacity:0.7;" src="https://search.creativecommons.org/static/img/cc-sa_icon.svg" /></a></p>