660 lines
26 KiB
Groff
660 lines
26 KiB
Groff
.\" Man page generated from reStructuredText.
|
||
.
|
||
.
|
||
.nr rst2man-indent-level 0
|
||
.
|
||
.de1 rstReportMargin
|
||
\\$1 \\n[an-margin]
|
||
level \\n[rst2man-indent-level]
|
||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
-
|
||
\\n[rst2man-indent0]
|
||
\\n[rst2man-indent1]
|
||
\\n[rst2man-indent2]
|
||
..
|
||
.de1 INDENT
|
||
.\" .rstReportMargin pre:
|
||
. RS \\$1
|
||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||
. nr rst2man-indent-level +1
|
||
.\" .rstReportMargin post:
|
||
..
|
||
.de UNINDENT
|
||
. RE
|
||
.\" indent \\n[an-margin]
|
||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
.nr rst2man-indent-level -1
|
||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||
..
|
||
.TH "SYNCTHING-FAQ" "7" "Jul 17, 2021" "v1" "Syncthing"
|
||
.SH NAME
|
||
syncthing-faq \- Frequently Asked Questions
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fI\%General\fP
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fI\%What is Syncthing?\fP
|
||
.IP \(bu 2
|
||
\fI\%Is it “syncthing”, “Syncthing” or “SyncThing”?\fP
|
||
.IP \(bu 2
|
||
\fI\%What things are synced?\fP
|
||
.IP \(bu 2
|
||
\fI\%Is synchronization fast?\fP
|
||
.IP \(bu 2
|
||
\fI\%How does Syncthing differ from BitTorrent/Resilio Sync?\fP
|
||
.IP \(bu 2
|
||
\fI\%Why is there no iOS client?\fP
|
||
.IP \(bu 2
|
||
\fI\%Should I keep my device IDs secret?\fP
|
||
.UNINDENT
|
||
.IP \(bu 2
|
||
\fI\%Troubleshooting\fP
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fI\%Where are the Syncthing logs?\fP
|
||
.IP \(bu 2
|
||
\fI\%Why is the sync so slow?\fP
|
||
.IP \(bu 2
|
||
\fI\%Why does it use so much CPU?\fP
|
||
.IP \(bu 2
|
||
\fI\%Why is the setup more complicated than BitTorrent/Resilio Sync?\fP
|
||
.IP \(bu 2
|
||
\fI\%Why do I get “Host check error” in the GUI/API?\fP
|
||
.IP \(bu 2
|
||
\fI\%My Syncthing database is corrupt\fP
|
||
.IP \(bu 2
|
||
\fI\%Why do I see Syncthing twice in task manager?\fP
|
||
.IP \(bu 2
|
||
\fI\%How can I view the history of changes?\fP
|
||
.IP \(bu 2
|
||
\fI\%Does the audit log contain every change?\fP
|
||
.IP \(bu 2
|
||
\fI\%Why does Syncthing connect to this unknown/suspicious address?\fP
|
||
.UNINDENT
|
||
.IP \(bu 2
|
||
\fI\%Usage\fP
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fI\%What if there is a conflict?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I serve a folder from a read only filesystem?\fP
|
||
.IP \(bu 2
|
||
\fI\%I really hate the .stfolder directory, can I remove it?\fP
|
||
.IP \(bu 2
|
||
\fI\%Am I able to nest shared folders in Syncthing?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I rename/move a synced folder?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I configure multiple users on a single machine?\fP
|
||
.IP \(bu 2
|
||
\fI\%Does Syncthing support syncing between folders on the same system?\fP
|
||
.IP \(bu 2
|
||
\fI\%When I do have two distinct Syncthing\-managed folders on two hosts, how does Syncthing handle moving files between them?\fP
|
||
.IP \(bu 2
|
||
\fI\%Is Syncthing my ideal backup application?\fP
|
||
.IP \(bu 2
|
||
\fI\%How can I exclude files with brackets ([]) in the name?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I access the web GUI from another computer?\fP
|
||
.IP \(bu 2
|
||
\fI\%I don’t like the GUI or the theme. Can it be changed?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I upgrade Syncthing?\fP
|
||
.IP \(bu 2
|
||
\fI\%Where do I find the latest release?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I run Syncthing as a daemon process on Linux?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I increase the inotify limit to get my filesystem watcher to work?\fP
|
||
.IP \(bu 2
|
||
\fI\%How do I reset the GUI password?\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SH GENERAL
|
||
.SS What is Syncthing?
|
||
.sp
|
||
Syncthing is an application that lets you synchronize your files across multiple
|
||
devices. This means the creation, modification or deletion of files on one
|
||
machine will automatically be replicated to your other devices. We believe your
|
||
data is your data alone and you deserve to choose where it is stored. Therefore
|
||
Syncthing does not upload your data to the cloud but exchanges your data across
|
||
your machines as soon as they are online at the same time.
|
||
.SS Is it “syncthing”, “Syncthing” or “SyncThing”?
|
||
.sp
|
||
It’s \fBSyncthing\fP, although the command and source repository is spelled
|
||
\fBsyncthing\fP so it may be referred to in that way as well. It’s definitely not
|
||
SyncThing, even though the abbreviation \fBst\fP is used in some
|
||
circumstances and file names.
|
||
.SS What things are synced?
|
||
.sp
|
||
The following things are \fIalways\fP synchronized:
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
File contents
|
||
.IP \(bu 2
|
||
File modification times
|
||
.UNINDENT
|
||
.sp
|
||
The following may be synchronized or not, depending:
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
File permissions (when supported by file system; on Windows only the
|
||
read only bit is synchronized)
|
||
.IP \(bu 2
|
||
Symbolic links (synced, except on Windows, but never followed)
|
||
.UNINDENT
|
||
.sp
|
||
The following are \fInot\fP synchronized;
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
File or directory owners and Groups (not preserved)
|
||
.IP \(bu 2
|
||
Directory modification times (not preserved)
|
||
.IP \(bu 2
|
||
Hard links and Windows directory junctions (followed, not preserved)
|
||
.IP \(bu 2
|
||
Extended attributes, resource forks (not preserved)
|
||
.IP \(bu 2
|
||
Windows, POSIX or NFS ACLs (not preserved)
|
||
.IP \(bu 2
|
||
Devices, FIFOs, and other specials (ignored)
|
||
.IP \(bu 2
|
||
Sparse file sparseness (will become sparse, when supported by the OS & filesystem)
|
||
.UNINDENT
|
||
.SS Is synchronization fast?
|
||
.sp
|
||
Syncthing segments files into pieces, called blocks, to transfer data from one
|
||
device to another. Therefore, multiple devices can share the synchronization
|
||
load, in a similar way to the torrent protocol. The more devices you have online,
|
||
the faster an additional device will receive the data
|
||
because small blocks will be fetched from all devices in parallel.
|
||
.sp
|
||
Syncthing handles renaming files and updating their metadata in an efficient
|
||
manner. This means that renaming a large file will not cause a retransmission of
|
||
that file. Additionally, appending data to existing large files should be
|
||
handled efficiently as well.
|
||
.sp
|
||
Temporary files are used to store partial data
|
||
downloaded from other devices. They are automatically removed whenever a file
|
||
transfer has been completed or after the configured amount of time which is set
|
||
in the configuration file (24 hours by default).
|
||
.SS How does Syncthing differ from BitTorrent/Resilio Sync?
|
||
.sp
|
||
The two are different and not related. Syncthing and BitTorrent/Resilio Sync accomplish
|
||
some of the same things, namely syncing files between two or more computers.
|
||
.sp
|
||
BitTorrent Sync, now called Resilio Sync, is a proprietary peer\-to\-peer file
|
||
synchronization tool available for Windows, Mac, Linux, Android, iOS, Windows
|
||
Phone, Amazon Kindle Fire and BSD. [1] Syncthing is an open source file
|
||
synchronization tool.
|
||
.sp
|
||
Syncthing uses an open and documented protocol, and likewise the security
|
||
mechanisms in use are well defined and visible in the source code. Resilio
|
||
Sync uses an undocumented, closed protocol with unknown security properties.
|
||
.IP [1] 5
|
||
\fI\%https://en.wikipedia.org/wiki/Resilio_Sync\fP
|
||
.SS Why is there no iOS client?
|
||
.sp
|
||
There is an alternative implementation of Syncthing (using the same network
|
||
protocol) called \fBfsync()\fP\&. There are no plans by the current Syncthing
|
||
team to support iOS in the foreseeable future, as the code required to do so
|
||
would be quite different from what Syncthing is today.
|
||
.SS Should I keep my device IDs secret?
|
||
.sp
|
||
No. The IDs are not sensitive. Given a device ID it’s possible to find the IP
|
||
address for that device, if global discovery is enabled on it. Knowing the device
|
||
ID doesn’t help you actually establish a connection to that device or get a list
|
||
of files, etc.
|
||
.sp
|
||
For a connection to be established, both devices need to know about the other’s
|
||
device ID. It’s not possible (in practice) to forge a device ID. (To forge a
|
||
device ID you need to create a TLS certificate with that specific SHA\-256 hash.
|
||
If you can do that, you can spoof any TLS certificate. The world is your
|
||
oyster!)
|
||
.sp
|
||
\fBSEE ALSO:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
device\-ids
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SH TROUBLESHOOTING
|
||
.SS Where are the Syncthing logs?
|
||
.sp
|
||
Syncthing logs to stdout by default. On Windows Syncthing by default also
|
||
creates \fBsyncthing.log\fP in Syncthing’s home directory (run \fBsyncthing
|
||
\-paths\fP to see where that is). The command line option \fB\-logfile\fP can be
|
||
used to specify a user\-defined logfile.
|
||
.sp
|
||
If you’re running a process manager like systemd, check there. If you’re
|
||
using a GUI wrapper integration, it may keep the logs for you.
|
||
.SS Why is the sync so slow?
|
||
.sp
|
||
When troubleshooting a slow sync, there are a number of things to check.
|
||
.sp
|
||
First of all, verify that you are not connected via a relay. In the “Remote
|
||
Devices” list on the right side of the GUI, double check that you see
|
||
“Address: <some address>” and \fInot\fP “Relay: <some address>”.
|
||
[image]
|
||
.sp
|
||
If you are connected via a relay, this is because a direct connection could
|
||
not be established. Double check and follow the suggestions in
|
||
firewall\-setup to enable direct connections.
|
||
.sp
|
||
Second, if one of the devices is a very low powered machine (a Raspberry Pi,
|
||
or a phone, or a NAS, or similar) you are likely constrained by the CPU on
|
||
that device. See the next question for reasons Syncthing likes a faster CPU.
|
||
.sp
|
||
Third, verify that the network connection is OK. Tools such as iperf or just
|
||
an Internet speed test can be used to verify the performance here.
|
||
.SS Why does it use so much CPU?
|
||
.INDENT 0.0
|
||
.IP 1. 3
|
||
When new or changed files are detected, or Syncthing starts for the
|
||
first time, your files are hashed using SHA\-256.
|
||
.IP 2. 3
|
||
Data that is sent over the network is compressed (optionally) and
|
||
encrypted (always). When receiving data it must be decrypted and then (if
|
||
compressed) decompressed.
|
||
.IP 3. 3
|
||
There is a certain amount of housekeeping that must be done to track the
|
||
current and available versions of each file in the index database.
|
||
.IP 4. 3
|
||
By default Syncthing uses periodic scanning every hour when watching for
|
||
changes or every minute if that’s disabled to detect
|
||
file changes. This means checking every file’s modification time and
|
||
comparing it to the database. This can cause spikes of CPU usage for large
|
||
folders.
|
||
.UNINDENT
|
||
.sp
|
||
Hashing, compression and encryption cost CPU time. Also, using the GUI
|
||
causes a certain amount of extra CPU usage to calculate the summary data it
|
||
presents. Note however that once things are \fIin sync\fP CPU usage should be
|
||
negligible.
|
||
.sp
|
||
To minimize the impact of this, Syncthing attempts to lower the
|
||
process priority when starting up.
|
||
.sp
|
||
To further limit the amount of CPU used when syncing and scanning, set the
|
||
environment variable \fBGOMAXPROCS\fP to the maximum number of CPU cores
|
||
Syncthing should use at any given moment. For example, \fBGOMAXPROCS=2\fP on a
|
||
machine with four cores will limit Syncthing to no more than half the
|
||
system’s CPU power.
|
||
.SS Why is the setup more complicated than BitTorrent/Resilio Sync?
|
||
.sp
|
||
Security over convenience. In Syncthing you have to setup both sides to
|
||
connect two devices. An attacker can’t do much with a stolen device ID, because
|
||
you have to add the device on the other side too. You have better control
|
||
where your files are transferred.
|
||
.sp
|
||
This is an area that we are working to improve in the long term.
|
||
.SS Why do I get “Host check error” in the GUI/API?
|
||
.sp
|
||
Since version 0.14.6 Syncthing does an extra security check when the GUI/API
|
||
is bound to localhost \- namely that the browser is talking to localhost.
|
||
This protects against most forms of \fI\%DNS rebinding attack\fP <\fBhttps://en.wikipedia.org/wiki/DNS_rebinding\fP> against the GUI.
|
||
.sp
|
||
To pass this test, ensure that you are accessing the GUI using an URL that
|
||
begins with \fIhttp://localhost\fP, \fIhttp://127.0.0.1\fP or \fIhttp://[::1]\fP\&. HTTPS
|
||
is fine too, of course.
|
||
.sp
|
||
If you are using a proxy in front of Syncthing you may need to disable this
|
||
check, after ensuring that the proxy provides sufficient authentication to
|
||
protect against unauthorized access. Either:
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
Make sure the proxy sets a \fIHost\fP header containing \fIlocalhost\fP, or
|
||
.IP \(bu 2
|
||
Set \fIinsecureSkipHostcheck\fP in the advanced settings, or
|
||
.IP \(bu 2
|
||
Bind the GUI/API to a non\-localhost listen port.
|
||
.UNINDENT
|
||
.sp
|
||
In all cases, username/password authentication and HTTPS should be used.
|
||
.SS My Syncthing database is corrupt
|
||
.sp
|
||
This is almost always a result of bad RAM, storage device or other hardware.
|
||
When the index database is found to be corrupt Syncthing cannot operate and
|
||
will note this in the logs and exit. To overcome this delete the \fI\%database
|
||
folder\fP <\fBhttps://docs.syncthing.net/users/config.html#description\fP> inside
|
||
Syncthing’s home directory and re\-start Syncthing. It will then need to
|
||
perform a full re\-hashing of all shared folders. You should check your
|
||
system in case the underlying cause is indeed faulty hardware which may put
|
||
the system at risk of further data loss.
|
||
.SS Why do I see Syncthing twice in task manager?
|
||
.sp
|
||
One process manages the other, to capture logs and manage restarts. This
|
||
makes it easier to handle upgrades from within Syncthing itself, and also
|
||
ensures that we get a nice log file to help us narrow down the cause for
|
||
crashes and other bugs.
|
||
.SS How can I view the history of changes?
|
||
.sp
|
||
The web GUI contains a \fBRecent Changes\fP button under the device list which
|
||
displays changes since the last (re)start of Syncthing. With the \fB\-audit\fP
|
||
option you can enable a persistent, detailed log of changes and most
|
||
activities, which contains a \fBJSON\fP formatted sequence of events in the
|
||
\fB~/.config/syncthing/audit\-_date_\-_time_.log\fP file.
|
||
.SS Does the audit log contain every change?
|
||
.sp
|
||
The audit log (and the \fBRecent Changes\fP window) sees the changes that your
|
||
Syncthing sees. When Syncthing is continuously connected it usually sees every change
|
||
happening immediately and thus knows which node initiated the change.
|
||
When topology gets complex or when your node reconnects after some time offline,
|
||
Syncthing synchronises with its neighbours: It gets the latest synchronised state
|
||
from the neighbour, which is the \fIresult\fP of all the changes between the last
|
||
known state (before disconnect or network delay) and the current state at the
|
||
neighbour, and if there were updates, deletes, creates, conflicts, which were
|
||
overlapping we only see the \fIlatest change\fP for a given file or directory (and
|
||
the node where that latest change occurred). When we connect to multiple neighbours
|
||
Syncthing decides which neighbor has the latest state, or if the states conflict
|
||
it initiates the conflict resolution procedure, which in the end results in a consistent
|
||
up\-to\-date state with all the neighbours.
|
||
.SS Why does Syncthing connect to this unknown/suspicious address?
|
||
.sp
|
||
If you see outgoing connections to odd and unexpected addresses these are
|
||
most likely connections to relay servers\&. Relay servers
|
||
are run by volunteers all over the world. They usually listen on port 443 or
|
||
22067, though this is controlled by the user running it. You can compare the
|
||
address you are concernced about with \fI\%the current list of active relays\fP <\fBhttps://relays.syncthing.net\fP>\&. Relays do not and can not see the data
|
||
transmitted via them.
|
||
.SH USAGE
|
||
.SS What if there is a conflict?
|
||
.sp
|
||
\fBSEE ALSO:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
conflict\-handling
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS How do I serve a folder from a read only filesystem?
|
||
.sp
|
||
Syncthing requires a “folder marker” to indicate that the folder is present
|
||
and healthy. By default this is a directory called \fB\&.stfolder\fP that is
|
||
created by Syncthing when the folder is added. If this folder can’t be
|
||
created (you are serving files from a CD or something) you can instead set
|
||
the advanced config \fBMarker Name\fP to the name of some file or folder that
|
||
you know will always exist in the folder.
|
||
.SS I really hate the \fB\&.stfolder\fP directory, can I remove it?
|
||
.sp
|
||
See the previous question.
|
||
.SS Am I able to nest shared folders in Syncthing?
|
||
.sp
|
||
Sharing a folder that is within an already shared folder is possible, but it has
|
||
its caveats. What you must absolutely avoid are circular shares. This is just
|
||
one example, there may be other undesired effects. Nesting shared folders is not
|
||
supported, recommended or coded for, but it can be done successfully when you
|
||
know what you’re doing \- you have been warned.
|
||
.SS How do I rename/move a synced folder?
|
||
.sp
|
||
Syncthing doesn’t have a direct way to do this, as it’s potentially
|
||
dangerous to do so if you’re not careful \- it may result in data loss if
|
||
something goes wrong during the move and is synchronized to your other
|
||
devices.
|
||
.sp
|
||
The easy way to rename or move a synced folder on the local system is to
|
||
remove the folder in the Syncthing UI, move it on disk, then re\-add it using
|
||
the new path.
|
||
.sp
|
||
It’s best to do this when the folder is already in sync between your
|
||
devices, as it is otherwise unpredictable which changes will “win” after the
|
||
move. Changes made on other devices may be overwritten, or changes made
|
||
locally may be overwritten by those on other devices.
|
||
.sp
|
||
An alternative way is to shut down Syncthing, move the folder on disk (including
|
||
the \fB\&.stfolder\fP marker), edit the path directly in \fBconfig.xml\fP in the
|
||
configuration folder (see config) and then start Syncthing again.
|
||
.SS How do I configure multiple users on a single machine?
|
||
.sp
|
||
Each user should run their own Syncthing instance. Be aware that you might need
|
||
to configure listening ports such that they do not overlap (see config).
|
||
.SS Does Syncthing support syncing between folders on the same system?
|
||
.sp
|
||
No. Syncthing is not designed to sync locally and the overhead involved in
|
||
doing so using Syncthing’s method would be wasteful. There are better
|
||
programs to achieve this such as \fI\%rsync\fP <\fBhttps://rsync.samba.org/\fP> or
|
||
\fI\%Unison\fP <\fBhttps://www.cis.upenn.edu/~bcpierce/unison\fP>\&.
|
||
.SS When I do have two distinct Syncthing\-managed folders on two hosts, how does Syncthing handle moving files between them?
|
||
.sp
|
||
Syncthing does not specially handle this case, and most files most likely get
|
||
re\-downloaded.
|
||
.sp
|
||
In detail, the behavior depends on the scan order. If you have folder A and B,
|
||
and move files from A to B, if A gets scanned first, it will announce removal of
|
||
the files to others who will remove the files. As you rescan B, B will
|
||
announce addition of new files, and other peers will have nowhere to get
|
||
them from apart from re\-downloading them.
|
||
.sp
|
||
If B gets rescanned first, B will announce additions first, remote
|
||
peers will reconstruct the files (not rename, more like copy block by
|
||
block) from A, and then as A gets rescanned remove the files from A.
|
||
.sp
|
||
A workaround would be to copy first from A to B, rescan B, wait for B to
|
||
rebuild on remote ends, and then delete from A.
|
||
.SS Is Syncthing my ideal backup application?
|
||
.sp
|
||
No. Syncthing is not a great backup application because all changes to your
|
||
files (modifications, deletions, etc.) will be propagated to all your
|
||
devices. You can enable versioning, but we encourage the use of other tools
|
||
to keep your data safe from your (or our) mistakes.
|
||
.SS How can I exclude files with brackets (\fB[]\fP) in the name?
|
||
.sp
|
||
The patterns in .stignore are glob patterns, where brackets are used to
|
||
denote character ranges. That is, the pattern \fBq[abc]x\fP will match the
|
||
files \fBqax\fP, \fBqbx\fP and \fBqcx\fP\&.
|
||
.sp
|
||
To match an actual file \fIcalled\fP \fBq[abc]x\fP the pattern needs to “escape”
|
||
the brackets, like so: \fBq\e[abc\e]x\fP\&.
|
||
.sp
|
||
On Windows, escaping special characters is not supported as the \fB\e\fP
|
||
character is used as a path separator. On the other hand, special characters
|
||
such as \fB[\fP and \fB?\fP are not allowed in file names on Windows.
|
||
.SS How do I access the web GUI from another computer?
|
||
.sp
|
||
The default listening address is 127.0.0.1:8384, so you can only access the
|
||
GUI from the same machine. This is for security reasons. Change the \fBGUI
|
||
listen address\fP through the web UI from \fB127.0.0.1:8384\fP to
|
||
\fB0.0.0.0:8384\fP or change the config.xml:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
<gui enabled="true" tls="false">
|
||
<address>127.0.0.1:8384</address>
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
to
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
<gui enabled="true" tls="false">
|
||
<address>0.0.0.0:8384</address>
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Then the GUI is accessible from everywhere. You should set a password and
|
||
enable HTTPS with this configuration. You can do this from inside the GUI.
|
||
.sp
|
||
If both your computers are Unix\-like (Linux, Mac, etc.) you can also leave the
|
||
GUI settings at default and use an ssh port forward to access it. For
|
||
example,
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
$ ssh \-L 9090:127.0.0.1:8384 user@othercomputer.example.com
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
will log you into othercomputer.example.com, and present the \fIremote\fP
|
||
Syncthing GUI on \fI\%http://localhost:9090\fP on your \fIlocal\fP computer.
|
||
.sp
|
||
If you only want to access the remote gui and don’t want the terminal
|
||
session, use this example,
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
$ ssh \-N \-L 9090:127.0.0.1:8384 user@othercomputer.example.com
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
If only your remote computer is Unix\-like,
|
||
you can still access it with ssh from Windows.
|
||
.sp
|
||
Under Windows 10 (64 bit) you can use the same ssh command if you install
|
||
the \fI\%Windows Subsystem for Linux\fP <\fBhttps://docs.microsoft.com/windows/wsl/install-win10\fP>\&.
|
||
.sp
|
||
Another Windows way to run ssh is to install \fI\%gow (Gnu On Windows)\fP <\fBhttps://github.com/bmatzelle/gow\fP>\&. The easiest way to install gow is with the \fI\%chocolatey\fP <\fBhttps://chocolatey.org/\fP> package manager.
|
||
.SS I don’t like the GUI or the theme. Can it be changed?
|
||
.sp
|
||
You can change the theme in the settings. Syncthing ships with other themes
|
||
than the default.
|
||
.sp
|
||
If you want a custom theme or a completely different GUI, you can add your
|
||
own.
|
||
By default, Syncthing will look for a directory \fBgui\fP inside the Syncthing
|
||
home folder. To change the directory to look for themes, you need to set the
|
||
STGUIASSETS environment variable. To get the concrete directory, run
|
||
syncthing with the \fB\-paths\fP parameter. It will print all the relevant paths,
|
||
including the “GUI override directory”.
|
||
.sp
|
||
To add e.g. a red theme, you can create the file \fBred/assets/css/theme.css\fP
|
||
inside the GUI override directory to override the default CSS styles.
|
||
.sp
|
||
To create a whole new GUI, you should checkout the files at
|
||
\fI\%https://github.com/syncthing/syncthing/tree/main/gui/default\fP
|
||
to get an idea how to do that.
|
||
.SS How do I upgrade Syncthing?
|
||
.sp
|
||
If you use a package manager such as Debian’s apt\-get, you should upgrade
|
||
using the package manager. If you use the binary packages linked from
|
||
Syncthing.net, you can use Syncthing built in automatic upgrades.
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
If automatic upgrades is enabled (which is the default), Syncthing will
|
||
upgrade itself automatically within 24 hours of a new release.
|
||
.IP \(bu 2
|
||
The upgrade button appears in the web GUI when a new version has been
|
||
released. Pressing it will perform an upgrade.
|
||
.IP \(bu 2
|
||
To force an upgrade from the command line, run \fBsyncthing \-upgrade\fP\&.
|
||
.UNINDENT
|
||
.sp
|
||
Note that your system should have CA certificates installed which allow a
|
||
secure connection to GitHub (e.g. FreeBSD requires \fBsudo pkg install
|
||
ca_root_nss\fP). If \fBcurl\fP or \fBwget\fP works with normal HTTPS sites, then
|
||
so should Syncthing.
|
||
.SS Where do I find the latest release?
|
||
.sp
|
||
We release new versions through GitHub. The latest release is always found
|
||
\fI\%on the release page\fP <\fBhttps://github.com/syncthing/syncthing/releases/latest\fP>\&. Unfortunately
|
||
GitHub does not provide a single URL to automatically download the latest
|
||
version. We suggest to use the \fI\%GitHub API\fP <\fBhttps://api.github.com/repos/syncthing/syncthing/releases/latest\fP> and parsing
|
||
the JSON response.
|
||
.SS How do I run Syncthing as a daemon process on Linux?
|
||
.sp
|
||
If you’re using systemd, runit, or upstart, we ship \fI\%example configurations\fP <\fBhttps://github.com/syncthing/syncthing/tree/main/etc\fP>\&.
|
||
.sp
|
||
If however you’re not using one of these tools, you have a couple of options.
|
||
If your system has a tool called \fBstart\-stop\-daemon\fP installed (that’s the name
|
||
of the command, not the package), look into the local documentation for that, it
|
||
will almost certainly cover 100% of what you want to do. If you don’t have
|
||
\fBstart\-stop\-daemon\fP, there are a bunch of other software packages you could use
|
||
to do this. The most well known is called daemontools, and can be found in the
|
||
standard package repositories for almost every modern Linux distribution.
|
||
Other popular tools with similar functionality include S6 and the aforementioned
|
||
runit.
|
||
.SS How do I increase the inotify limit to get my filesystem watcher to work?
|
||
.sp
|
||
You are probably reading this because you encountered the following error with
|
||
the filesystem watcher on linux:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Failed to start filesystem watcher for folder yourLabel (yourID): failed to
|
||
setup inotify handler. Please increase inotify limits, see \fI\%https://docs.syncthing.net/users/faq.html#inotify\-limits\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Linux typically restricts the amount of watches per user (usually 8192). When
|
||
you have more directories you need to adjust that number.
|
||
.sp
|
||
On many Linux distributions you can run the following to fix it:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
echo "fs.inotify.max_user_watches=204800" | sudo tee \-a /etc/sysctl.conf
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
On Arch Linux and potentially others it is preferred to write this line into a
|
||
separate file, i.e. you should run:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
echo "fs.inotify.max_user_watches=204800" | sudo tee \-a /etc/sysctl.d/90\-override.conf
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
This only takes effect after a reboot. To adjust the limit immediately, run:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
sudo sh \-c \(aqecho 204800 > /proc/sys/fs/inotify/max_user_watches\(aq
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS How do I reset the GUI password?
|
||
.sp
|
||
If you’ve forgotten/lost the GUI password, you can remove it by deleting the \fB<user>\fP and \fB<password>\fP XML tags from the \fB<gui>\fP block in file \fBconfig.xml\fP\&. This should be done while Syncthing is not running. The location of the file depends on OS and is described in the configuration documentation.
|
||
.sp
|
||
For example, the two emphasized lines below would be removed from the file.
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
<gui enabled="true" tls="false" debugging="false">
|
||
<address>127.0.0.1:8384</address>
|
||
<user>syncguy</user>
|
||
<password>$2a$10$s9wWHOQe...Cq7GPye69</password>
|
||
<apikey>9RCKohqCAyrj5RjpyZdR2wXmQ9PyQFeN</apikey>
|
||
<theme>default</theme>
|
||
</gui>
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SH AUTHOR
|
||
The Syncthing Authors
|
||
.SH COPYRIGHT
|
||
2014-2019, The Syncthing Authors
|
||
.\" Generated by docutils manpage writer.
|
||
.
|