SYNC.CONF(5)
π SYNC.CONF(5) β the sync configuration file β¨
okay so bestie, welcome to sync.conf(5), the manual page for the Sync configuration file from GNU Taler π this is your whole guide to how these config files work, and trust me, it's lowkey iconic once you get it. let's go π«Ά
β¨ DESCRIPTION β¨
The configuration file is line-oriented, periodt. Blank lines are ignored, and so is whitespace at the beginning and end of a line π
Comments start with # or % in the first column (after any beginning-of-line whitespace) and go to the end of the line π
The file is split into sections. Every section begins with [SECTIONNAME] and contains a number of options of the form OPTION=VALUE. There may be whitespace around the = (equal sign). Section names and options are case-insensitive β¨
The values, however, are case-sensitive π₯ In particular, boolean values are one of YES or NO. Values can include whitespace by surrounding the entire value with " (double quote). Note, however, that there are no escape characters in such strings; all characters between the double quotes (including other double quotes) are taken verbatim π
Values that represent a time duration are represented as a series of one or more NUMBER UNIT pairs, e.g. 60 s, 4 weeks 1 day, 5 years 2 minutes β³
Values that represent an amount are in the usual amount syntax: CURRENCY:VALUE.FRACTION, e.g. EUR:1.50. The FRACTION portion may extend up to 8 places πΈ
Values that represent filenames can begin with a /bin/sh-like variable reference. This can be simple, such as $TMPDIR/foo, or complex, such as ${TMPDIR:-${TMP:-/tmp}}/foo. The variables are expanded either using key-values from the [PATHS] section (see below) or from the environment (getenv()). The values from [PATHS] take precedence over those from the environment π₯ If the variable name is found in neither [PATHS] nor the environment, a warning is printed and the value is left unchanged. Variables (including those from the environment) are expanded recursively, so if FOO=$BAR and BAR=buzz then the result is FOO=buzz. Recursion is bounded to at most 128 levels to avoid undefined behavior for mutually recursive expansions like if BAR=$FOO in the example above π
The [PATHS] section is special in that it contains paths that can be referenced using $ in other configuration values that specify filenames ποΈ Note that configuration options that are not specifically retrieved by the application as filenames will not see β$β-expressions expanded. To expand $-expressions when using taler-config, you must pass the -f command-line option π
The system automatically pre-populates the [PATHS] section with a few values at run-time (in addition to the values that are in the actual configuration file and automatically overwriting those values if they are present) π§ These automatically generated values refer to installation properties from GNU autoconf. The values are usually dependent on an INSTALL_PREFIX which is determined by the --prefix option given to configure. The canonical values are:
LIBEXECDIR = $INSTALL_PREFIX/taler/libexec/DOCDIR = $INSTALL_PREFIX/share/doc/taler/ICONDIR = $INSTALL_PREFIX/share/icons/LOCALEDIR = $INSTALL_PREFIX/share/locale/PREFIX = $INSTALL_PREFIX/BINDIR = $INSTALL_PREFIX/bin/LIBDIR = $INSTALL_PREFIX/lib/taler/DATADIR = $INSTALL_PREFIX/share/taler/
Note that on some platforms, the given paths may differ depending on how the system was compiled or installed, the above are just the canonical locations of the various resources πΈ These automatically generated values are never written to disk π
Files containing default values for many of the options described below are installed under $PREFIX/share/sync/config.d/. The configuration file given with -c to Sync binaries overrides these defaults π«
A configuration file may include another, by using the @INLINE@ directive, for example, in main.conf, you could write @INLINE@ sub.conf to include the entirety of sub.conf at that point in main.conf πͺ
β οΈ Be extra careful when usingsync-config -V VALUEto change configuration values: it will destroy all uses of@INLINE@and furthermore remove all comments from the configuration file! π no cap, it really does.
π GLOBAL OPTIONS π
The following options are from the [sync] section. This is normally the only section in a sync.conf file π
SERVEβ Should the HTTP server listen on a UNIX domain socket (set option to"unix"), or on a TCP socket (set option to"tcp"), or be activated via systemd (set option to"systemd") πPORTβ Port on which the HTTP server listens, e.g.9967. Only used ifSERVEistcpπBIND_TOβ Which IP address should we bind to? E.g.127.0.0.1or::1for loopback. Can also be given as a hostname. We will bind to the wildcard (dual-stack) if left empty. Only used ifSERVEistcpπUNIXPATHβ Which unix domain path should we bind to? Only used ifSERVEisunixπUNIXPATH_MODE = 660β What should be the file access permissions forUNIXPATH? Only used ifSERVEisunixπDBβ Plugin to use for the database, e.g. βpostgresβ ποΈANNUAL_FEEβ Annual fee for an account. This is in the usual amount syntax, e.g.TESTKUDOS:0.1π°INSURANCEβ Insurance provided against loss, e.g.TESTKUDOS:0.0π‘οΈUPLOAD_LIMIT_MBβ Upload limit per backup, in megabytes, e.g.16π¦FULFILLMENT_URLβ Fulfillment URL of the SYNC service itself πPAYMENT_BACKEND_URLβ Base URL of our payment backend π¦API_KEYβ API key to pass when accessing the merchant backend. This is a secret value π€«
π SEE ALSO π
sync-dbinit(1), sync-httpd(1), sync-config(1) β go read those next, bestie π¦
π BUGS π
Report bugs by using https://bugs.taler.net/ or by sending electronic mail to <taler@gnu.org> π¬
π AUTHOR π
GNU Taler contributors π
π COPYRIGHT π
2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+) β
and that's the whole page, bestie!! this was version 1.0, dated Dec 22, 2025 β go forth and configure, you've got this ππ«Άβ¨
π¦ where this page comes from
- nixos 26.05: taler-sync 1.3.0
- nixpkgs unstable: taler-sync 1.3.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms