123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698 |
- .\" 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-CONFIG" "5" "May 08, 2024" "v1.27.7" "Syncthing"
- .SH NAME
- syncthing-config \- Syncthing Configuration
- .SH SYNOPSIS
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- $XDG_STATE_HOME/syncthing
- $HOME/.local/state/syncthing
- $HOME/Library/Application Support/Syncthing
- %LOCALAPPDATA%\eSyncthing
- .EE
- .UNINDENT
- .UNINDENT
- .SH DESCRIPTION
- .sp
- Changed in version 1.27.0: The default location of the configuration and database directory on
- Unix\-like systems was changed to \fB$XDG_STATE_HOME/syncthing\fP or
- \fB$HOME/.local/state/syncthing\fP\&. Previously the default config location
- was \fB$XDG_CONFIG_HOME/syncthing\fP or \fB$HOME/.config/syncthing\fP\&. The
- database directory was previously \fB$HOME/.config/syncthing\fP or, if the
- environment variable was set, \fB$XDG_DATA_HOME/syncthing\fP\&. Existing
- installations may still use these directories instead of the newer
- defaults.
- .sp
- Added in version 1.5.0: Database and config can now be set separately. Previously the database was
- always located in the same directory as the config.
- .sp
- Syncthing uses a single directory to store configuration and crypto keys.
- Syncthing also keeps an index database with file metadata which is by
- default stored in the same directory, though this can be overridden.
- .sp
- The location defaults to \fB$XDG_STATE_HOME/syncthing\fP or
- \fB$HOME/.local/state/syncthing\fP (Unix\-like), \fB$HOME/Library/Application
- Support/Syncthing\fP (Mac), or \fB%LOCALAPPDATA%\eSyncthing\fP (Windows). It can
- be changed at runtime using the \fB\-\-config\fP or \fB\-\-home\fP flags or the
- corresponding environment variables (\fB$STCONFDIR\fP or \fBSTHOMEDIR\fP). The
- following files are located in this directory:
- .INDENT 0.0
- .TP
- .B \fBconfig.xml\fP
- The configuration file, in XML format.
- .TP
- .B \fBcert.pem\fP, \fBkey.pem\fP
- The device’s ECDSA public and private key. These form the basis for the
- device ID. The key must be kept private.
- .TP
- .B \fBhttps\-cert.pem\fP, \fBhttps\-key.pem\fP
- The certificate and key for HTTPS GUI connections. These may be replaced
- with a custom certificate for HTTPS as desired.
- .UNINDENT
- .sp
- The database is by default stored in the same directory as the config, but
- the location may be overridden by the \fB\-\-data\fP or \fB\-\-home\fP flags or the
- corresponding environment varibles (\fB$STDATADIR\fP or \fBSTHOMEDIR\fP).
- .sp
- The database directory contains the following files, among others:
- .INDENT 0.0
- .TP
- .B \fBindex\-\fP\fI*\fP\fB\&.db\fP
- A directory holding the database with metadata and hashes of the files
- currently on disk and available from peers.
- .TP
- .B \fBsyncthing.log\fP
- Log output, on some systems.
- .TP
- .B \fBaudit\-\fP\fI*\fP\fB\&.log\fP
- Audit log data, when enabled.
- .TP
- .B \fBpanic\-\fP\fI*\fP\fB\&.log\fP
- Crash log data, when required.
- .UNINDENT
- .SH CONFIG FILE FORMAT
- .sp
- The following shows an example of a default configuration file (IDs will differ):
- .sp
- \fBNOTE:\fP
- .INDENT 0.0
- .INDENT 3.5
- The config examples are present for illustration. Do \fBnot\fP copy them
- entirely to use as your config. They are likely out\-of\-date and the values
- may no longer correspond to the defaults.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <configuration version=\(dq37\(dq>
- <folder id=\(dqdefault\(dq label=\(dqDefault Folder\(dq path=\(dq/Users/jb/Sync/\(dq type=\(dqsendreceive\(dq rescanIntervalS=\(dq3600\(dq fsWatcherEnabled=\(dqtrue\(dq fsWatcherDelayS=\(dq10\(dq ignorePerms=\(dqfalse\(dq autoNormalize=\(dqtrue\(dq>
- <filesystemType>basic</filesystemType>
- <device id=\(dqS7UKX27\-GI7ZTXS\-GC6RKUA\-7AJGZ44\-C6NAYEB\-HSKTJQK\-KJHU2NO\-CWV7EQW\(dq introducedBy=\(dq\(dq>
- <encryptionPassword></encryptionPassword>
- </device>
- <minDiskFree unit=\(dq%\(dq>1</minDiskFree>
- <versioning>
- <cleanupIntervalS>3600</cleanupIntervalS>
- <fsPath></fsPath>
- <fsType>basic</fsType>
- </versioning>
- <copiers>0</copiers>
- <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
- <hashers>0</hashers>
- <order>random</order>
- <ignoreDelete>false</ignoreDelete>
- <scanProgressIntervalS>0</scanProgressIntervalS>
- <pullerPauseS>0</pullerPauseS>
- <maxConflicts>\-1</maxConflicts>
- <disableSparseFiles>false</disableSparseFiles>
- <disableTempIndexes>false</disableTempIndexes>
- <paused>false</paused>
- <weakHashThresholdPct>25</weakHashThresholdPct>
- <markerName>.stfolder</markerName>
- <copyOwnershipFromParent>false</copyOwnershipFromParent>
- <modTimeWindowS>0</modTimeWindowS>
- <maxConcurrentWrites>2</maxConcurrentWrites>
- <disableFsync>false</disableFsync>
- <blockPullOrder>standard</blockPullOrder>
- <copyRangeMethod>standard</copyRangeMethod>
- <caseSensitiveFS>false</caseSensitiveFS>
- <junctionsAsDirs>false</junctionsAsDirs>
- <syncOwnership>false</syncOwnership>
- <sendOwnership>false</sendOwnership>
- <syncXattrs>false</syncXattrs>
- <sendXattrs>false</sendXattrs>
- </folder>
- <device id=\(dqS7UKX27\-GI7ZTXS\-GC6RKUA\-7AJGZ44\-C6NAYEB\-HSKTJQK\-KJHU2NO\-CWV7EQW\(dq name=\(dqsyno\(dq compression=\(dqmetadata\(dq introducer=\(dqfalse\(dq skipIntroductionRemovals=\(dqfalse\(dq introducedBy=\(dq\(dq>
- <address>dynamic</address>
- <paused>false</paused>
- <autoAcceptFolders>false</autoAcceptFolders>
- <maxSendKbps>0</maxSendKbps>
- <maxRecvKbps>0</maxRecvKbps>
- <ignoredFolder time=\(dq2022\-01\-09T19:09:52Z\(dq id=\(dqbr63e\-wyhb7\(dq label=\(dqFoo\(dq></ignoredFolder>
- <maxRequestKiB>0</maxRequestKiB>
- <untrusted>false</untrusted>
- <remoteGUIPort>0</remoteGUIPort>
- </device>
- <gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq debugging=\(dqfalse\(dq>
- <address>127.0.0.1:8384</address>
- <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
- <theme>default</theme>
- </gui>
- <ldap></ldap>
- <options>
- <listenAddress>default</listenAddress>
- <globalAnnounceServer>default</globalAnnounceServer>
- <globalAnnounceEnabled>true</globalAnnounceEnabled>
- <localAnnounceEnabled>true</localAnnounceEnabled>
- <localAnnouncePort>21027</localAnnouncePort>
- <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
- <maxSendKbps>0</maxSendKbps>
- <maxRecvKbps>0</maxRecvKbps>
- <reconnectionIntervalS>60</reconnectionIntervalS>
- <relaysEnabled>true</relaysEnabled>
- <relayReconnectIntervalM>10</relayReconnectIntervalM>
- <startBrowser>true</startBrowser>
- <natEnabled>true</natEnabled>
- <natLeaseMinutes>60</natLeaseMinutes>
- <natRenewalMinutes>30</natRenewalMinutes>
- <natTimeoutSeconds>10</natTimeoutSeconds>
- <urAccepted>0</urAccepted>
- <urSeen>0</urSeen>
- <urUniqueID></urUniqueID>
- <urURL>https://data.syncthing.net/newdata</urURL>
- <urPostInsecurely>false</urPostInsecurely>
- <urInitialDelayS>1800</urInitialDelayS>
- <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
- <upgradeToPreReleases>false</upgradeToPreReleases>
- <keepTemporariesH>24</keepTemporariesH>
- <cacheIgnoredFiles>false</cacheIgnoredFiles>
- <progressUpdateIntervalS>5</progressUpdateIntervalS>
- <limitBandwidthInLan>false</limitBandwidthInLan>
- <minHomeDiskFree unit=\(dq%\(dq>1</minHomeDiskFree>
- <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
- <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
- <tempIndexMinBlocks>10</tempIndexMinBlocks>
- <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>
- <trafficClass>0</trafficClass>
- <setLowPriority>true</setLowPriority>
- <maxFolderConcurrency>0</maxFolderConcurrency>
- <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
- <crashReportingEnabled>true</crashReportingEnabled>
- <stunKeepaliveStartS>180</stunKeepaliveStartS>
- <stunKeepaliveMinS>20</stunKeepaliveMinS>
- <stunServer>default</stunServer>
- <databaseTuning>auto</databaseTuning>
- <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
- <announceLANAddresses>true</announceLANAddresses>
- <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
- <connectionLimitEnough>0</connectionLimitEnough>
- <connectionLimitMax>0</connectionLimitMax>
- <insecureAllowOldTLSVersions>false</insecureAllowOldTLSVersions>
- </options>
- <remoteIgnoredDevice time=\(dq2022\-01\-09T20:02:01Z\(dq id=\(dq5SYI2FS\-LW6YAXI\-JJDYETS\-NDBBPIO\-256MWBO\-XDPXWVG\-24QPUM4\-PDW4UQU\(dq name=\(dqbugger\(dq address=\(dq192.168.0.20:22000\(dq></remoteIgnoredDevice>
- <defaults>
- <folder id=\(dq\(dq label=\(dq\(dq path=\(dq~\(dq type=\(dqsendreceive\(dq rescanIntervalS=\(dq3600\(dq fsWatcherEnabled=\(dqtrue\(dq fsWatcherDelayS=\(dq10\(dq ignorePerms=\(dqfalse\(dq autoNormalize=\(dqtrue\(dq>
- <filesystemType>basic</filesystemType>
- <device id=\(dqS7UKX27\-GI7ZTXS\-GC6RKUA\-7AJGZ44\-C6NAYEB\-HSKTJQK\-KJHU2NO\-CWV7EQW\(dq introducedBy=\(dq\(dq>
- <encryptionPassword></encryptionPassword>
- </device>
- <minDiskFree unit=\(dq%\(dq>1</minDiskFree>
- <versioning>
- <cleanupIntervalS>3600</cleanupIntervalS>
- <fsPath></fsPath>
- <fsType>basic</fsType>
- </versioning>
- <copiers>0</copiers>
- <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
- <hashers>0</hashers>
- <order>random</order>
- <ignoreDelete>false</ignoreDelete>
- <scanProgressIntervalS>0</scanProgressIntervalS>
- <pullerPauseS>0</pullerPauseS>
- <maxConflicts>10</maxConflicts>
- <disableSparseFiles>false</disableSparseFiles>
- <disableTempIndexes>false</disableTempIndexes>
- <paused>false</paused>
- <weakHashThresholdPct>25</weakHashThresholdPct>
- <markerName>.stfolder</markerName>
- <copyOwnershipFromParent>false</copyOwnershipFromParent>
- <modTimeWindowS>0</modTimeWindowS>
- <maxConcurrentWrites>2</maxConcurrentWrites>
- <disableFsync>false</disableFsync>
- <blockPullOrder>standard</blockPullOrder>
- <copyRangeMethod>standard</copyRangeMethod>
- <caseSensitiveFS>false</caseSensitiveFS>
- <junctionsAsDirs>false</junctionsAsDirs>
- <syncOwnership>false</syncOwnership>
- <sendOwnership>false</sendOwnership>
- <syncXattrs>false</syncXattrs>
- <sendXattrs>false</sendXattrs>
- </folder>
- <device id=\(dq\(dq compression=\(dqmetadata\(dq introducer=\(dqfalse\(dq skipIntroductionRemovals=\(dqfalse\(dq introducedBy=\(dq\(dq>
- <address>dynamic</address>
- <paused>false</paused>
- <autoAcceptFolders>false</autoAcceptFolders>
- <maxSendKbps>0</maxSendKbps>
- <maxRecvKbps>0</maxRecvKbps>
- <maxRequestKiB>0</maxRequestKiB>
- <untrusted>false</untrusted>
- <remoteGUIPort>0</remoteGUIPort>
- </device>
- </defaults>
- </configuration>
- .EE
- .UNINDENT
- .UNINDENT
- .SH CONFIGURATION ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <configuration version=\(dq37\(dq>
- <folder></folder>
- <device></device>
- <gui></gui>
- <ldap></ldap>
- <options></options>
- <remoteIgnoredDevice></remoteIgnoredDevice>
- <defaults></defaults>
- </configuration>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- This is the root element. It has one attribute:
- .INDENT 0.0
- .TP
- .B version
- The config version. Increments whenever a change is made that requires
- migration from previous formats.
- .UNINDENT
- .sp
- It contains the elements described in the following sections and any number of
- this additional child element:
- .INDENT 0.0
- .TP
- .B remoteIgnoredDevice
- Contains the ID of the device that should be ignored. Connection attempts
- from this device are logged to the console but never displayed in the web
- GUI.
- .UNINDENT
- .SH FOLDER ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <folder id=\(dqdefault\(dq label=\(dqDefault Folder\(dq path=\(dq/Users/jb/Sync/\(dq type=\(dqsendreceive\(dq rescanIntervalS=\(dq3600\(dq fsWatcherEnabled=\(dqtrue\(dq fsWatcherDelayS=\(dq10\(dq ignorePerms=\(dqfalse\(dq autoNormalize=\(dqtrue\(dq>
- <filesystemType>basic</filesystemType>
- <device id=\(dqS7UKX27\-GI7ZTXS\-GC6RKUA\-7AJGZ44\-C6NAYEB\-HSKTJQK\-KJHU2NO\-CWV7EQW\(dq introducedBy=\(dq\(dq>
- <encryptionPassword></encryptionPassword>
- </device>
- <minDiskFree unit=\(dq%\(dq>1</minDiskFree>
- <versioning>
- <cleanupIntervalS>3600</cleanupIntervalS>
- <fsPath></fsPath>
- <fsType>basic</fsType>
- </versioning>
- <copiers>0</copiers>
- <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
- <hashers>0</hashers>
- <order>random</order>
- <ignoreDelete>false</ignoreDelete>
- <scanProgressIntervalS>0</scanProgressIntervalS>
- <pullerPauseS>0</pullerPauseS>
- <maxConflicts>\-1</maxConflicts>
- <disableSparseFiles>false</disableSparseFiles>
- <disableTempIndexes>false</disableTempIndexes>
- <paused>false</paused>
- <weakHashThresholdPct>25</weakHashThresholdPct>
- <markerName>.stfolder</markerName>
- <copyOwnershipFromParent>false</copyOwnershipFromParent>
- <modTimeWindowS>0</modTimeWindowS>
- <maxConcurrentWrites>2</maxConcurrentWrites>
- <disableFsync>false</disableFsync>
- <blockPullOrder>standard</blockPullOrder>
- <copyRangeMethod>standard</copyRangeMethod>
- <caseSensitiveFS>false</caseSensitiveFS>
- <junctionsAsDirs>false</junctionsAsDirs>
- <syncOwnership>false</syncOwnership>
- <sendOwnership>false</sendOwnership>
- <syncXattrs>false</syncXattrs>
- <sendXattrs>false</sendXattrs>
- </folder>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- One or more \fBfolder\fP elements must be present in the file. Each element
- describes one folder. The following attributes may be set on the \fBfolder\fP
- element:
- .INDENT 0.0
- .TP
- .B id (mandatory)
- The folder ID, which must be unique.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B label
- The label of a folder is a human readable and descriptive local name. May
- be different on each device, empty, and/or identical to other folder
- labels. (optional)
- .UNINDENT
- .INDENT 0.0
- .TP
- .B filesystemType
- The internal file system implementation used to access this folder, detailed
- in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B path (mandatory)
- The path to the directory where the folder is stored on this
- device; not sent to other devices.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B type
- Controls how the folder is handled by Syncthing. Possible values are:
- .INDENT 7.0
- .TP
- .B \fBsendreceive\fP
- The folder is in default mode. Sending local and accepting remote changes.
- Note that this type was previously called “readwrite” which is deprecated
- but still accepted in incoming configs.
- .TP
- .B \fBsendonly\fP
- The folder is in “send only” mode – it will not be modified by
- Syncthing on this device.
- Note that this type was previously called “readonly” which is deprecated
- but still accepted in incoming configs.
- .TP
- .B \fBreceiveonly\fP
- The folder is in “receive only” mode – it will not propagate
- changes to other devices.
- .TP
- .B \fBreceiveencrypted\fP
- Must be used on untrusted devices, where the data cannot be decrypted
- because no folder password was entered. See \fI\%Untrusted (Encrypted) Devices\fP\&.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B rescanIntervalS
- The rescan interval, in seconds. Can be set to \fB0\fP to disable when external
- plugins are used to trigger rescans.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B fsWatcherEnabled
- If set to \fBtrue\fP, this detects changes to files in the folder and scans them.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B fsWatcherDelayS
- The duration during which changes detected are accumulated, before a scan is
- scheduled (only takes effect if \fI\%fsWatcherEnabled\fP is set to \fBtrue\fP).
- .UNINDENT
- .INDENT 0.0
- .TP
- .B ignorePerms
- If \fBtrue\fP, files originating from this folder will be announced to remote
- devices with the “no permission bits” flag. The remote devices will use
- whatever their default permission setting is when creating the files. The
- primary use case is for file systems that do not support permissions, such
- as FAT, or environments where changing permissions is impossible.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B autoNormalize
- Automatically correct UTF\-8 normalization errors found in file names. The
- mechanism and how to set it up is described in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .sp
- The following child elements may exist:
- .INDENT 0.0
- .TP
- .B device
- These must have the \fBid\fP attribute and can have an \fBintroducedBy\fP
- attribute, identifying the device that introduced us to share this folder
- with the given device. If the original introducer unshares this folder with
- this device, our device will follow and unshare the folder (subject to
- \fI\%skipIntroductionRemovals\fP being \fBfalse\fP on the introducer device).
- .sp
- All mentioned devices are those that will be sharing the folder in question.
- Each mentioned device must have a separate \fBdevice\fP element later in the file.
- It is customary that the local device ID is included in all folders.
- Syncthing will currently add this automatically if it is not present in
- the configuration file.
- .sp
- The \fBencryptionPassword\fP sub\-element contains the secret needed to decrypt
- this folder’s data on the remote device. If left empty, the data is plainly
- accessible (but still protected by the transport encryption). The mechanism
- and how to set it up is described in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B minDiskFree
- The minimum required free space that should be available on the disk this
- folder resides. The folder will be stopped when the value drops below the
- threshold. The element content is interpreted according to the given
- \fBunit\fP attribute. Accepted \fBunit\fP values are \fB%\fP (percent of the disk
- / volume size), \fBkB\fP, \fBMB\fP, \fBGB\fP and \fBTB\fP\&. Set to zero to disable.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B versioning
- Specifies a versioning configuration.
- .sp
- \fBSEE ALSO:\fP
- .INDENT 7.0
- .INDENT 3.5
- \fI\%File Versioning\fP
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B copiers
- .TP
- .B hashers
- The number of copier and hasher routines to use, or \fB0\fP for the
- system determined optimums. These are low\-level performance options for
- advanced users only; do not change unless requested to or you’ve actually
- read and understood the code yourself. :)
- .UNINDENT
- .INDENT 0.0
- .TP
- .B pullerMaxPendingKiB
- Controls when we stop sending requests to other devices once we’ve got this
- much unserved requests. The number of pullers is automatically adjusted
- based on this desired amount of outstanding request data.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B order
- The order in which needed files should be pulled from the cluster. It has
- no effect when the folder type is “send only”. The possibles values are:
- .INDENT 7.0
- .TP
- .B \fBrandom\fP (default)
- Pull files in random order. This optimizes for balancing resources among
- the devices in a cluster.
- .TP
- .B \fBalphabetic\fP
- Pull files ordered by file name alphabetically.
- .TP
- .B \fBsmallestFirst\fP, \fBlargestFirst\fP
- Pull files ordered by file size; smallest and largest first respectively.
- .TP
- .B \fBoldestFirst\fP, \fBnewestFirst\fP
- Pull files ordered by modification time; oldest and newest first
- respectively.
- .UNINDENT
- .sp
- Note that the scanned files are sent in batches and the sorting is applied
- only to the already discovered files. This means the sync might start with
- a 1 GB file even if there is 1 KB file available on the source device until
- the 1 KB becomes known to the pulling device.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B ignoreDelete
- .
- \fBWARNING:\fP
- .INDENT 7.0
- .INDENT 3.5
- Enabling this is highly discouraged \- use at your own risk. You have been warned.
- .UNINDENT
- .UNINDENT
- .sp
- When set to \fBtrue\fP, this device will pretend not to see instructions to
- delete files from other devices. The mechanism is described in a
- \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B scanProgressIntervalS
- The interval in seconds with which scan progress information is sent to the GUI. Setting to \fB0\fP
- will cause Syncthing to use the default value of two.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B pullerPauseS
- Tweak for rate limiting the puller when it retries pulling files. Don’t
- change this unless you know what you’re doing.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxConflicts
- The maximum number of conflict copies to keep around for any given file.
- The default, \fB\-1\fP, means an unlimited number. Setting this to \fB0\fP disables
- conflict copies altogether.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B disableSparseFiles
- By default, blocks containing all zeros are not written, causing files
- to be sparse on filesystems that support this feature. When set to \fBtrue\fP,
- sparse files will not be created.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B disableTempIndexes
- By default, devices exchange information about blocks available in
- transfers that are still in progress, which allows other devices to
- download parts of files that are not yet fully downloaded on your own
- device, essentially making transfers more torrent like. When set to
- \fBtrue\fP, such information is not exchanged for this folder.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B paused
- True if this folder is (temporarily) suspended.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B weakHashThresholdPct
- Use weak hash if more than the given percentage of the file has changed. Set
- to \fB\-1\fP to always use weak hash. Default is \fB25\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B markerName
- Name of a directory or file in the folder root to be used as
- \X'tty: link #marker-faq'\fI\%How do I serve a folder from a read only filesystem?\fP\X'tty: link'\&. Default is \fB\&.stfolder\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B copyOwnershipFromParent
- On Unix systems, tries to copy file/folder ownership from the parent directory (the directory it’s located in).
- Requires running Syncthing as a privileged user, or granting it additional capabilities (e.g. CAP_CHOWN on Linux).
- .UNINDENT
- .INDENT 0.0
- .TP
- .B modTimeWindowS
- Allowed modification timestamp difference when comparing files for
- equivalence. To be used on file systems which have unstable
- modification timestamps that might change after being recorded
- during the last write operation. Default is \fB2\fP on Android when the
- folder is located on a FAT partition, and \fB0\fP otherwise.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxConcurrentWrites
- Maximum number of concurrent write operations while syncing. Increasing this might increase or
- decrease disk performance, depending on the underlying storage. Default is \fB2\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B disableFsync
- .
- \fBWARNING:\fP
- .INDENT 7.0
- .INDENT 3.5
- This is a known insecure option \- use at your own risk.
- .UNINDENT
- .UNINDENT
- .sp
- Disables committing file operations to disk before recording them in the
- database. Disabling fsync can lead to data corruption. The mechanism is
- described in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B blockPullOrder
- Order in which the blocks of a file are downloaded. This option controls how quickly different parts of the
- file spread between the connected devices, at the cost of causing strain on the storage.
- .sp
- Available options:
- .INDENT 7.0
- .TP
- .B \fBstandard\fP (default)
- The blocks of a file are split into N equal continuous sequences, where N is the number of connected
- devices. Each device starts downloading its own sequence, after which it picks other devices
- sequences at random. Provides acceptable data distribution and minimal spinning disk strain.
- .TP
- .B \fBrandom\fP
- The blocks of a file are downloaded in a random order. Provides great data distribution, but very taxing on
- spinning disk drives.
- .TP
- .B \fBinOrder\fP
- The blocks of a file are downloaded sequentially, from start to finish. Spinning disk drive friendly, but provides
- no improvements to data distribution.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B copyRangeMethod
- Provides a choice of method for copying data between files. This can be
- used to optimise copies on network filesystems, improve speed of large
- copies or clone the data using copy\-on\-write functionality if the underlying
- filesystem supports it. The mechanism is described in a \fI\%separate
- chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B caseSensitiveFS
- Affects performance by disabling the extra safety checks for case
- insensitive filesystems. The mechanism and how to set it up is described in
- a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B junctionsAsDirs
- NTFS directory junctions are treated as ordinary directories, if this is set
- to \fBtrue\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B syncOwnership
- File and directory ownership is synced when this is set to \fBtrue\fP\&. See
- \fI\%syncOwnership\fP for more information.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B sendOwnership
- File and directory ownership information is scanned when this is set to
- \fBtrue\fP\&. See \fI\%sendOwnership\fP for more information.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B syncXattrs
- File and directory extended attributes are synced when this is set to
- \fBtrue\fP\&. See \fI\%syncXattrs\fP for more information.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B sendXattrs
- File and directory extended attributes are scanned and sent to other
- devices when this is set to \fBtrue\fP\&. See
- \fI\%sendXattrs\fP for more information.
- .UNINDENT
- .SH DEVICE ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <device id=\(dqS7UKX27\-GI7ZTXS\-GC6RKUA\-7AJGZ44\-C6NAYEB\-HSKTJQK\-KJHU2NO\-CWV7EQW\(dq name=\(dqsyno\(dq compression=\(dqmetadata\(dq introducer=\(dqfalse\(dq skipIntroductionRemovals=\(dqfalse\(dq introducedBy=\(dq2CYF2WQ\-AKZO2QZ\-JAKWLYD\-AGHMQUM\-BGXUOIS\-GYILW34\-HJG3DUK\-LRRYQAR\(dq>
- <address>dynamic</address>
- <paused>false</paused>
- <autoAcceptFolders>false</autoAcceptFolders>
- <maxSendKbps>0</maxSendKbps>
- <maxRecvKbps>0</maxRecvKbps>
- <ignoredFolder time=\(dq2022\-01\-09T19:09:52Z\(dq id=\(dqbr63e\-wyhb7\(dq label=\(dqFoo\(dq></ignoredFolder>
- <maxRequestKiB>0</maxRequestKiB>
- <untrusted>false</untrusted>
- <remoteGUIPort>0</remoteGUIPort>
- <numConnections>0</numConnections>
- </device>
- <device id=\(dq2CYF2WQ\-AKZO2QZ\-JAKWLYD\-AGHMQUM\-BGXUOIS\-GYILW34\-HJG3DUK\-LRRYQAR\(dq name=\(dqsyno local\(dq compression=\(dqmetadata\(dq introducer=\(dqtrue\(dq skipIntroductionRemovals=\(dqfalse\(dq introducedBy=\(dq\(dq>
- <address>tcp://192.0.2.1:22001</address>
- <paused>true</paused>
- <allowedNetwork>192.168.0.0/16</allowedNetwork>
- <autoAcceptFolders>false</autoAcceptFolders>
- <maxSendKbps>100</maxSendKbps>
- <maxRecvKbps>100</maxRecvKbps>
- <maxRequestKiB>65536</maxRequestKiB>
- <untrusted>false</untrusted>
- <remoteGUIPort>8384</remoteGUIPort>
- <numConnections>0</numConnections>
- </device>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- One or more \fBdevice\fP elements must be present in the file. Each element
- describes a device participating in the cluster. It is customary to include a
- \fBdevice\fP element for the local device; Syncthing will currently add one if
- it is not present. The following attributes may be set on the \fBdevice\fP
- element:
- .INDENT 0.0
- .TP
- .B id (mandatory)
- The \X'tty: link #device-ids'\fI\%device ID\fP\X'tty: link'\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B name
- A friendly name for the device. (optional)
- .UNINDENT
- .INDENT 0.0
- .TP
- .B compression
- Whether to use protocol compression when sending messages to this device.
- The possible values are:
- .INDENT 7.0
- .TP
- .B \fBmetadata\fP
- Compress metadata packets, such as index information. Metadata is
- usually very compression friendly so this is a good default.
- .TP
- .B \fBalways\fP
- Compress all packets, including file data. This is recommended if the
- folders contents are mainly compressible data such as documents or
- text files.
- .TP
- .B \fBnever\fP
- Disable all compression.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B introducer
- Set to true if this device should be trusted as an introducer, i.e. we
- should copy their list of devices per folder when connecting.
- .sp
- \fBSEE ALSO:\fP
- .INDENT 7.0
- .INDENT 3.5
- \fI\%Introducer Configuration\fP
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B skipIntroductionRemovals
- Set to true if you wish to follow only introductions and not de\-introductions.
- For example, if this is set, we would not remove a device that we were introduced
- to even if the original introducer is no longer listing the remote device as known.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B introducedBy
- Defines which device has introduced us to this device. Used only for following de\-introductions.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B certName
- The device certificate’s common name, if it is not the default “syncthing”.
- .UNINDENT
- .sp
- From the following child elements at least one \fBaddress\fP child must exist.
- .INDENT 0.0
- .TP
- .B address (mandatory: At least one must be present.)
- Contains an address or host name to use when attempting to connect to this device.
- Entries other than \fBdynamic\fP need a protocol specific prefix. For the TCP protocol
- the prefixes \fBtcp://\fP (dual\-stack), \fBtcp4://\fP (IPv4 only) or \fBtcp6://\fP (IPv6 only) can be used.
- The prefixes for the QUIC protocol are analogous: \fBquic://\fP, \fBquic4://\fP and \fBquic6://\fP
- Note that IP addresses need not use IPv4 or IPv6 prefixes; these are optional. Accepted formats are:
- .INDENT 7.0
- .TP
- .B IPv4 address (\fBtcp://192.0.2.42\fP)
- The default port (22000) is used.
- .TP
- .B IPv4 address and port (\fBtcp://192.0.2.42:12345\fP)
- The address and port is used as given.
- .TP
- .B IPv6 address (\fBtcp://[2001:db8::23:42]\fP)
- The default port (22000) is used. The address must be enclosed in
- square brackets.
- .TP
- .B IPv6 address and port (\fBtcp://[2001:db8::23:42]:12345\fP)
- The address and port is used as given. The address must be enclosed in
- square brackets.
- .TP
- .B Host name (\fBtcp6://fileserver\fP)
- The host name will be used on the default port (22000) and connections
- will be attempted only via IPv6.
- .TP
- .B Host name and port (\fBtcp://fileserver:12345\fP)
- The host name will be used on the given port and connections will be
- attempted via both IPv4 and IPv6, depending on name resolution.
- .TP
- .B \fBdynamic\fP
- The word \fBdynamic\fP (without any prefix) means to use local and
- global discovery to find the device.
- .UNINDENT
- .sp
- You can set multiple addresses \fIand\fP combine it with the \fBdynamic\fP keyword
- for example:
- .INDENT 7.0
- .INDENT 3.5
- .sp
- .EX
- <device id=\(dq...\(dq>
- <address>tcp://192.0.2.1:22001</address>
- <address>quic://192.0.1.254:22000</address>
- <address>dynamic</address>
- </device>
- .EE
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B paused
- True if synchronization with this devices is (temporarily) suspended.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B allowedNetwork
- If given, this restricts connections to this device to only this network.
- The mechanism is described in detail in a \fI\%separate chapter\fP).
- .UNINDENT
- .INDENT 0.0
- .TP
- .B autoAcceptFolders
- If \fBtrue\fP, folders shared from this remote device are automatically added
- and synced locally under the \fI\%default path\fP\&. For the
- folder name, Syncthing tries to use the label from the remote device, and if
- the same label already exists, it then tries to use the folder’s ID. If
- that exists as well, the folder is just offered to accept manually. A local
- folder already added with the same ID will just be shared rather than
- created separately.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxSendKbps
- Maximum send rate to use for this device. Unit is kibibytes/second, despite
- the config name looking like kilobits/second.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxRecvKbps
- Maximum receive rate to use for this device. Unit is kibibytes/second,
- despite the config name looking like kilobits/second.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B ignoredFolder
- Contains the ID of the folder that should be ignored. This folder will
- always be skipped when advertised from the containing remote device,
- i.e. this will be logged, but there will be no dialog shown in the web GUI.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxRequestKiB
- Maximum amount of data to have outstanding in requests towards this device.
- Unit is kibibytes.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B remoteGUIPort
- If set to a positive integer, the GUI will display an HTTP link to the IP
- address which is currently used for synchronization. Only the TCP port is
- exchanged for the value specified here. Note that any port forwarding or
- firewall settings need to be done manually and the link will probably not
- work for link\-local IPv6 addresses because of modern browser limitations.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B untrusted
- This boolean value marks a particular device as untrusted, which disallows
- ever sharing any unencrypted data with it. Every folder shared with that
- device then needs an encryption password set, or must already be of the
- “receive encrypted” type locally. Refer to the detailed explanation under
- \fI\%Untrusted (Encrypted) Devices\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B numConnections
- The number of connections to this device. See
- \fI\%numConnections\fP for more information.
- .UNINDENT
- .SH GUI ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq debugging=\(dqfalse\(dq>
- <address>127.0.0.1:8384</address>
- <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
- <theme>default</theme>
- </gui>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- There must be exactly one \fBgui\fP element. The GUI configuration is also used by
- the \fI\%REST API\fP and the \fI\%Event API\fP\&. The following attributes may be
- set on the \fBgui\fP element:
- .INDENT 0.0
- .TP
- .B enabled
- If not \fBtrue\fP, the GUI and API will not be started.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B tls
- If set to \fBtrue\fP, TLS (HTTPS) will be enforced. Non\-HTTPS requests will
- be redirected to HTTPS. When set to \fBfalse\fP, TLS connections are
- still possible but not required.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B debugging
- This enables \fI\%Profiling\fP and additional endpoints in the REST
- API, see \fI\%Debug Endpoints\fP\&.
- .UNINDENT
- .sp
- The following child elements may be present:
- .INDENT 0.0
- .TP
- .B address (mandatory: Exactly one element must be present.)
- Set the listen address. Allowed address formats are:
- .INDENT 7.0
- .TP
- .B IPv4 address and port (\fB127.0.0.1:8384\fP)
- The address and port are used as given.
- .TP
- .B IPv6 address and port (\fB[::1]:8384\fP)
- The address and port are used as given. The address must be enclosed in
- square brackets.
- .TP
- .B Wildcard and port (\fB0.0.0.0:12345\fP, \fB[::]:12345\fP, \fB:12345\fP)
- These are equivalent and will result in Syncthing listening on all
- interfaces via both IPv4 and IPv6.
- .TP
- .B UNIX socket location (\fB/var/run/st.sock\fP)
- If the address is an absolute path it is interpreted as the path to a UNIX socket.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B unixSocketPermissions
- When \fBaddress\fP is set to a UNIX socket location, set this to an octal value
- to override the default permissions of the socket.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B user
- Set to require authentication.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B password
- Contains the bcrypt hash of the real password.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B apikey
- If set, this is the API key that enables usage of the REST interface.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B insecureAdminAccess
- If true, this allows access to the web GUI from outside (i.e. not localhost)
- without authorization. A warning will displayed about this setting on startup.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B insecureSkipHostcheck
- When the GUI / API is bound to localhost, we enforce that the \fBHost\fP
- header looks like localhost. This option bypasses that check.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B insecureAllowFrameLoading
- Allow rendering the GUI within an \fB<iframe>\fP, \fB<frame>\fP or \fB<object>\fP
- by not setting the \fBX\-Frame\-Options: SAMEORIGIN\fP HTTP header. This may be
- needed for serving the Syncthing GUI as part of a website through a proxy.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B theme
- The name of the theme to use.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B authMode
- Authentication mode to use. If not present, the authentication mode (static)
- is controlled by the presence of user/password fields for backward compatibility.
- .INDENT 7.0
- .TP
- .B \fBstatic\fP
- Authentication using user and password.
- .TP
- .B \fBldap\fP
- LDAP authentication. Requires ldap top level config section to be present.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B sendBasicAuthPrompt
- Added in version 1.26.0.
- .sp
- Prior to version 1.26.0 the GUI used HTTP Basic Authorization for login, but
- starting in version 1.26.0 it uses an HTML form by default. Basic
- Authorization is still supported when the \fBAuthorization\fP request header
- is present in a request, but some browsers don’t send the header unless
- prompted by a 401 response.
- .sp
- When this setting is enabled, the GUI will respond to unauthenticated
- requests with a 401 response prompting for Basic Authorization, so that
- \fBhttps://user:pass@localhost\fP style URLs continue to work in standard
- browsers. Other clients that always send the \fBAuthorization\fP request
- header do not need this setting.
- .sp
- When this setting is disabled, the GUI will not send 401 responses so users
- won’t see browser popups prompting for username and password.
- .UNINDENT
- .SH LDAP ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <ldap>
- <address>localhost:389</address>
- <bindDN>cn=%s,ou=users,dc=syncthing,dc=net</bindDN>
- <transport>nontls</transport>
- <insecureSkipVerify>false</insecureSkipVerify>
- </ldap>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- The \fBldap\fP element contains LDAP configuration options. The mechanism is
- described in detail under \fI\%LDAP Authentication\fP\&.
- .INDENT 0.0
- .TP
- .B address (mandatory)
- .INDENT 7.0
- .INDENT 3.5
- LDAP server address (server:port).
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B bindDN (mandatory)
- .INDENT 7.0
- .INDENT 3.5
- BindDN for user authentication.
- Special \fB%s\fP variable should be used to pass username to LDAP.
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B transport
- .INDENT 7.0
- .TP
- .B \fBnontls\fP
- Non secure connection.
- .TP
- .B \fBtls\fP
- TLS secured connection.
- .TP
- .B \fBstarttls\fP
- StartTLS connection mode.
- .UNINDENT
- .UNINDENT
- .INDENT 0.0
- .TP
- .B insecureSkipVerify
- Skip verification (\fBtrue\fP or \fBfalse\fP).
- .UNINDENT
- .INDENT 0.0
- .TP
- .B searchBaseDN
- Base DN for user searches.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B searchFilter
- Search filter for user searches.
- .UNINDENT
- .SH OPTIONS ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <options>
- <listenAddress>default</listenAddress>
- <globalAnnounceServer>default</globalAnnounceServer>
- <globalAnnounceEnabled>true</globalAnnounceEnabled>
- <localAnnounceEnabled>true</localAnnounceEnabled>
- <localAnnouncePort>21027</localAnnouncePort>
- <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
- <maxSendKbps>0</maxSendKbps>
- <maxRecvKbps>0</maxRecvKbps>
- <reconnectionIntervalS>60</reconnectionIntervalS>
- <relaysEnabled>true</relaysEnabled>
- <relayReconnectIntervalM>10</relayReconnectIntervalM>
- <startBrowser>true</startBrowser>
- <natEnabled>true</natEnabled>
- <natLeaseMinutes>60</natLeaseMinutes>
- <natRenewalMinutes>30</natRenewalMinutes>
- <natTimeoutSeconds>10</natTimeoutSeconds>
- <urAccepted>0</urAccepted>
- <urSeen>0</urSeen>
- <urUniqueID></urUniqueID>
- <urURL>https://data.syncthing.net/newdata</urURL>
- <urPostInsecurely>false</urPostInsecurely>
- <urInitialDelayS>1800</urInitialDelayS>
- <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
- <upgradeToPreReleases>false</upgradeToPreReleases>
- <keepTemporariesH>24</keepTemporariesH>
- <cacheIgnoredFiles>false</cacheIgnoredFiles>
- <progressUpdateIntervalS>5</progressUpdateIntervalS>
- <limitBandwidthInLan>false</limitBandwidthInLan>
- <minHomeDiskFree unit=\(dq%\(dq>1</minHomeDiskFree>
- <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
- <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
- <tempIndexMinBlocks>10</tempIndexMinBlocks>
- <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>
- <trafficClass>0</trafficClass>
- <setLowPriority>true</setLowPriority>
- <maxFolderConcurrency>0</maxFolderConcurrency>
- <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
- <crashReportingEnabled>true</crashReportingEnabled>
- <stunKeepaliveStartS>180</stunKeepaliveStartS>
- <stunKeepaliveMinS>20</stunKeepaliveMinS>
- <stunServer>default</stunServer>
- <databaseTuning>auto</databaseTuning>
- <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
- <announceLANAddresses>true</announceLANAddresses>
- <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
- <connectionLimitEnough>0</connectionLimitEnough>
- <connectionLimitMax>0</connectionLimitMax>
- <insecureAllowOldTLSVersions>false</insecureAllowOldTLSVersions>
- </options>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- The \fBoptions\fP element contains all other global configuration options.
- .INDENT 0.0
- .TP
- .B listenAddress
- The listen address for incoming sync connections. See
- \fI\%Listen Addresses\fP for the allowed syntax.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B globalAnnounceServer
- A URI to a global announce (discovery) server, or the word \fBdefault\fP to
- include the default servers. Any number of globalAnnounceServer elements
- may be present. The syntax for non\-default entries is that of an HTTP or
- HTTPS URL. A number of options may be added as query options to the URL:
- \fBinsecure\fP to prevent certificate validation (required for HTTP URLs)
- and \fBid=<device ID>\fP to perform certificate pinning. The device ID to
- use is printed by the discovery server on startup.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B globalAnnounceEnabled
- Whether to announce this device to the global announce (discovery) server,
- and also use it to look up other devices.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B localAnnounceEnabled
- Whether to send announcements to the local LAN, also use such
- announcements to find other devices.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B localAnnouncePort
- The port on which to listen and send IPv4 broadcast announcements to.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B localAnnounceMCAddr
- The group address and port to join and send IPv6 multicast announcements on.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxSendKbps
- Outgoing data rate limit, in kibibytes per second.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxRecvKbps
- Incoming data rate limits, in kibibytes per second.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B reconnectionIntervalS
- The number of seconds to wait between each attempt to connect to currently
- unconnected devices.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B relaysEnabled
- When \fBtrue\fP, relays will be connected to and potentially used for device to device connections.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B relayReconnectIntervalM
- Sets the interval, in minutes, between relay reconnect attempts.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B startBrowser
- Whether to attempt to start a browser to show the GUI when Syncthing starts.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B natEnabled
- Whether to attempt to perform a UPnP and NAT\-PMP port mapping for
- incoming sync connections.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B natLeaseMinutes
- Request a lease for this many minutes; zero to request a permanent lease.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B natRenewalMinutes
- Attempt to renew the lease after this many minutes.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B natTimeoutSeconds
- When scanning for UPnP devices, wait this long for responses.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B urAccepted
- Whether the user has accepted to submit anonymous usage data. The default,
- \fB0\fP, mean the user has not made a choice, and Syncthing will ask at some
- point in the future. \fB\-1\fP means no, a number above zero means that that
- version of usage reporting has been accepted.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B urSeen
- The highest usage reporting version that has already been shown in the web GUI.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B urUniqueID
- The unique ID sent together with the usage report. Generated when usage
- reporting is enabled.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B urURL
- The URL to post usage report data to, when enabled.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B urPostInsecurely
- When true, the UR URL can be http instead of https, or have a self\-signed
- certificate. The default is \fBfalse\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B urInitialDelayS
- The time to wait from startup for the first usage report to be sent. Allows
- the system to stabilize before reporting statistics.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B autoUpgradeIntervalH
- Check for a newer version after this many hours. Set to \fB0\fP to disable
- automatic upgrades.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B upgradeToPreReleases
- If \fBtrue\fP, automatic upgrades include release candidates (see
- \X'tty: link #releases'\fI\%Versions & Releases\fP\X'tty: link').
- .UNINDENT
- .INDENT 0.0
- .TP
- .B keepTemporariesH
- Keep temporary failed transfers for this many hours. While the temporaries
- are kept, the data they contain need not be transferred again.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B cacheIgnoredFiles
- Whether to cache the results of ignore pattern evaluation. Performance
- at the price of memory. Defaults to \fBfalse\fP as the cost for evaluating
- ignores is usually not significant.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B progressUpdateIntervalS
- How often in seconds the progress of ongoing downloads is made available to
- the GUI. Set to \fB\-1\fP to disable. Note that when disabled, the detailed
- sync progress for Out of Sync Items which shows how much of each file has
- been reused, copied, and downloaded will not work.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B limitBandwidthInLan
- Whether to apply bandwidth limits to devices in the same broadcast domain
- as the local device.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B minHomeDiskFree
- The minimum required free space that should be available on the partition
- holding the configuration and index. The element content is interpreted
- according to the given \fBunit\fP attribute. Accepted \fBunit\fP values are
- \fB%\fP (percent of the disk / volume size), \fBkB\fP, \fBMB\fP, \fBGB\fP and
- \fBTB\fP\&. Set to zero to disable.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B releasesURL
- The URL from which release information is loaded, for automatic upgrades.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B alwaysLocalNet
- Network that should be considered as local given in CIDR notation.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B overwriteRemoteDeviceNamesOnConnect
- If set, device names will always be overwritten with the name given by
- remote on each connection. By default, the name that the remote device
- announces will only be adopted when a name has not already been set.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B tempIndexMinBlocks
- When exchanging index information for incomplete transfers, only take
- into account files that have at least this many blocks.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B unackedNotificationID
- ID of a notification to be displayed in the web GUI. Will be removed once
- the user acknowledged it (e.g. an transition notice on an upgrade).
- .UNINDENT
- .INDENT 0.0
- .TP
- .B trafficClass
- Specify an IPv4 type of service (TOS)/IPv6 traffic class for outgoing
- packets. To specify a differentiated services code point (DSCP) the value
- must be bit shifted to the left by two to take the two least significant
- ECN bits into account.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B stunServer
- Server to be used for STUN, given as ip:port. The keyword \fBdefault\fP gets
- expanded to
- \fBstun.callwithus.com:3478\fP, \fBstun.counterpath.com:3478\fP,
- \fBstun.counterpath.net:3478\fP, \fBstun.ekiga.net:3478\fP,
- \fBstun.ideasip.com:3478\fP, \fBstun.internetcalls.com:3478\fP,
- \fBstun.schlund.de:3478\fP, \fBstun.sipgate.net:10000\fP,
- \fBstun.sipgate.net:3478\fP, \fBstun.voip.aebc.com:3478\fP,
- \fBstun.voiparound.com:3478\fP, \fBstun.voipbuster.com:3478\fP,
- \fBstun.voipstunt.com:3478\fP and \fBstun.xten.com:3478\fP (this is the default).
- .UNINDENT
- .INDENT 0.0
- .TP
- .B stunKeepaliveStartS
- Interval in seconds between contacting a STUN server to maintain NAT
- mapping. Default is \fB24\fP and you can set it to \fB0\fP to disable contacting
- STUN servers. The interval is automatically reduced if needed, down to a
- minimum of \fI\%stunKeepaliveMinS\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B stunKeepaliveMinS
- Minimum for the \fI\%stunKeepaliveStartS\fP interval, in seconds.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B setLowPriority
- Syncthing will attempt to lower its process priority at startup.
- Specifically: on Linux, set itself to a separate process group, set the
- niceness level of that process group to nine and the I/O priority to
- best effort level five; on other Unixes, set the process niceness level
- to nine; on Windows, set the process priority class to below normal. To
- disable this behavior, for example to control process priority yourself
- as part of launching Syncthing, set this option to \fBfalse\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxFolderConcurrency
- This option controls how many folders may concurrently be in I/O\-intensive
- operations such as syncing or scanning. The mechanism is described in
- detail in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B crashReportingURL
- Server URL where \fI\%automatic crash reports\fP will be sent if
- enabled.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B crashReportingEnabled
- Switch to opt out from the \fI\%automatic crash reporting\fP
- feature. Set \fBfalse\fP to keep Syncthing from sending panic logs on serious
- troubles. Defaults to \fBtrue\fP, to help the developers troubleshoot.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B databaseTuning
- Controls how Syncthing uses the backend key\-value database that stores the
- index data and other persistent data it needs. The available options and
- implications are explained in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B maxConcurrentIncomingRequestKiB
- This limits how many bytes we have “in the air” in the form of response data
- being read and processed.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B announceLANAddresses
- Enable (the default) or disable announcing private (RFC1918) LAN IP
- addresses to global discovery.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B sendFullIndexOnUpgrade
- Controls whether all index data is resent when an upgrade has happened,
- equivalent to starting Syncthing with \X'tty: link #cmdoption-reset-deltas'\fI\%\-\-reset\-deltas\fP\X'tty: link'\&. This used
- to be the default behavior in older versions, but is mainly useful as a
- troubleshooting step and causes high database churn. The default is now
- \fBfalse\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B featureFlag
- Feature flags are simple strings that, when added to the configuration, may
- unleash unfinished or still\-in\-development features to allow early user
- testing. Any supported value will be separately announced with the feature,
- so that regular users do not enable it by accident.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B connectionLimitEnough
- The number of connections at which we stop trying to connect to more
- devices, zero meaning no limit. Does not affect incoming connections. The
- mechanism is described in detail in a \fI\%separate chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B connectionLimitMax
- The maximum number of connections which we will allow in total, zero meaning
- no limit. Affects incoming connections and prevents attempting outgoing
- connections. The mechanism is described in detail in a \fI\%separate
- chapter\fP\&.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B insecureAllowOldTLSVersions
- Only for compatibility with old versions of Syncthing on remote devices, as
- detailed in \fI\%insecureAllowOldTLSVersions\fP\&.
- .UNINDENT
- .SH DEFAULTS ELEMENT
- .INDENT 0.0
- .INDENT 3.5
- .sp
- .EX
- <defaults>
- <folder id=\(dq\(dq label=\(dq\(dq path=\(dq~\(dq type=\(dqsendreceive\(dq rescanIntervalS=\(dq3600\(dq fsWatcherEnabled=\(dqtrue\(dq fsWatcherDelayS=\(dq10\(dq ignorePerms=\(dqfalse\(dq autoNormalize=\(dqtrue\(dq>
- <filesystemType>basic</filesystemType>
- <device id=\(dqS7UKX27\-GI7ZTXS\-GC6RKUA\-7AJGZ44\-C6NAYEB\-HSKTJQK\-KJHU2NO\-CWV7EQW\(dq introducedBy=\(dq\(dq>
- <encryptionPassword></encryptionPassword>
- </device>
- <minDiskFree unit=\(dq%\(dq>1</minDiskFree>
- <versioning>
- <cleanupIntervalS>3600</cleanupIntervalS>
- <fsPath></fsPath>
- <fsType>basic</fsType>
- </versioning>
- <copiers>0</copiers>
- <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
- <hashers>0</hashers>
- <order>random</order>
- <ignoreDelete>false</ignoreDelete>
- <scanProgressIntervalS>0</scanProgressIntervalS>
- <pullerPauseS>0</pullerPauseS>
- <maxConflicts>10</maxConflicts>
- <disableSparseFiles>false</disableSparseFiles>
- <disableTempIndexes>false</disableTempIndexes>
- <paused>false</paused>
- <weakHashThresholdPct>25</weakHashThresholdPct>
- <markerName>.stfolder</markerName>
- <copyOwnershipFromParent>false</copyOwnershipFromParent>
- <modTimeWindowS>0</modTimeWindowS>
- <maxConcurrentWrites>2</maxConcurrentWrites>
- <disableFsync>false</disableFsync>
- <blockPullOrder>standard</blockPullOrder>
- <copyRangeMethod>standard</copyRangeMethod>
- <caseSensitiveFS>false</caseSensitiveFS>
- <junctionsAsDirs>false</junctionsAsDirs>
- </folder>
- <device id=\(dq\(dq compression=\(dqmetadata\(dq introducer=\(dqfalse\(dq skipIntroductionRemovals=\(dqfalse\(dq introducedBy=\(dq\(dq>
- <address>dynamic</address>
- <paused>false</paused>
- <autoAcceptFolders>false</autoAcceptFolders>
- <maxSendKbps>0</maxSendKbps>
- <maxRecvKbps>0</maxRecvKbps>
- <maxRequestKiB>0</maxRequestKiB>
- <untrusted>false</untrusted>
- <remoteGUIPort>0</remoteGUIPort>
- <numConnections>0</numConnections>
- </device>
- <ignores>
- <line>!foo2</line>
- <line>// comment</line>
- <line>(?d).DS_Store</line>
- <line>*2</line>
- <line>qu*</line>
- </ignores>
- </defaults>
- .EE
- .UNINDENT
- .UNINDENT
- .sp
- The \fBdefaults\fP element describes a template for newly added device and folder
- options. These will be used when adding a new remote device or folder, either
- through the GUI or the command line interface. The following child elements can
- be present in the \fBdefaults\fP element:
- .INDENT 0.0
- .TP
- .B device
- Template for a \fBdevice\fP element, with the same internal structure. Any
- fields here will be used for a newly added remote device. The \fBid\fP
- attribute is meaningless in this context.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B folder
- Template for a \fBfolder\fP element, with the same internal structure. Any
- fields here will be used for a newly added shared folder. The \fBid\fP
- attribute is meaningless in this context.
- .sp
- The UI will propose to create new folders at the path given in the \fBpath\fP
- attribute (used to be \fBdefaultFolderPath\fP under \fBoptions\fP). It also
- applies to folders automatically accepted from a remote device.
- .sp
- Even sharing with other remote devices can be done in the template by
- including the appropriate \fI\%folder.device\fP element underneath.
- .UNINDENT
- .INDENT 0.0
- .TP
- .B ignores
- Added in version 1.19.0.
- .sp
- Template for the \X'tty: link #ignoring-files'\fI\%ignore patterns\fP\X'tty: link' applied to new
- folders. These are copied to the \fB\&.stignore\fP file when a folder is
- automatically accepted from a remote device. The GUI uses them to pre\-fill
- the respective field when adding a new folder as well. In XML, each pattern
- line is represented as by a \fB<line>\fP element.
- .UNINDENT
- .SS Listen Addresses
- .sp
- The following address types are accepted in sync protocol listen addresses.
- If you want Syncthing to listen on multiple addresses, you can either: add
- multiple \fB<listenAddress>\fP tags in the configuration file or enter several
- addresses separated by commas in the GUI.
- .INDENT 0.0
- .TP
- .B Default listen addresses (\fBdefault\fP)
- This is equivalent to \fBtcp://0.0.0.0:22000\fP, \fBquic://0.0.0.0:22000\fP
- and \fBdynamic+https://relays.syncthing.net/endpoint\fP\&.
- .TP
- .B TCP wildcard and port (\fBtcp://0.0.0.0:22000\fP, \fBtcp://:22000\fP)
- These are equivalent and will result in Syncthing listening on all
- interfaces, IPv4 and IPv6, on the specified port.
- .TP
- .B TCP IPv4 wildcard and port (\fBtcp4://0.0.0.0:22000\fP, \fBtcp4://:22000\fP)
- These are equivalent and will result in Syncthing listening on all
- interfaces via IPv4 only.
- .TP
- .B TCP IPv4 address and port (\fBtcp4://192.0.2.1:22000\fP)
- This results in Syncthing listening on the specified address and port, IPv4
- only.
- .TP
- .B TCP IPv6 wildcard and port (\fBtcp6://[::]:22000\fP, \fBtcp6://:22000\fP)
- These are equivalent and will result in Syncthing listening on all
- interfaces via IPv6 only.
- .TP
- .B TCP IPv6 address and port (\fBtcp6://[2001:db8::42]:22000\fP)
- This results in Syncthing listening on the specified address and port, IPv6
- only.
- .TP
- .B QUIC address and port (e.g. \fBquic://0.0.0.0:22000\fP)
- Syntax is the same as for TCP, also \fBquic4\fP and \fBquic6\fP can be used.
- .TP
- .B Static relay address (\fBrelay://192.0.2.42:22067?id=abcd123...\fP)
- Syncthing will connect to and listen for incoming connections via the
- specified relay address.
- .INDENT 7.0
- .INDENT 3.5
- .SS Todo
- .sp
- Document available URL parameters.
- .UNINDENT
- .UNINDENT
- .TP
- .B Dynamic relay pool (\fBdynamic+https://192.0.2.42/relays\fP)
- Syncthing will fetch the specified HTTPS URL, parse it for a JSON payload
- describing relays, select a relay from the available ones and listen via
- that as if specified as a static relay above.
- .INDENT 7.0
- .INDENT 3.5
- .SS Todo
- .sp
- Document available URL parameters.
- .UNINDENT
- .UNINDENT
- .UNINDENT
- .SH SYNCING CONFIGURATION FILES
- .sp
- Syncing configuration files between devices (such that multiple devices are
- using the same configuration files) can cause issues. This is easy to do
- accidentally if you sync your home folder between devices. A common symptom
- of syncing configuration files is two devices ending up with the same Device ID.
- .sp
- If you want to use Syncthing to backup your configuration files, it is recommended
- that the files you are backing up are in a \X'tty: link #folder-sendonly'\fI\%Send Only Folder\fP\X'tty: link' to prevent other
- devices from overwriting the per device configuration. The folder on the remote
- device(s) should not be used as configuration for the remote devices.
- .sp
- If you’d like to sync your home folder in non\-send only mode, you may add the
- folder that stores the configuration files to the \X'tty: link #ignoring-files'\fI\%ignore list\fP\X'tty: link'\&.
- If you’d also like to backup your configuration files, add another folder in
- send only mode for just the configuration folder.
- .SH AUTHOR
- The Syncthing Authors
- .SH COPYRIGHT
- 2014-2019, The Syncthing Authors
- .\" Generated by docutils manpage writer.
- .
|