LIBEUFIN-NEXUS.CONF(5)
π libeufin-nexus.conf β the LibEuFin Nexus config file, bestie edition β¨
Ok so bestie, this is the libeufin-nexus.conf(5) page β like, section 5 of the manual, GNU Taler flavor β and it's literally just about one file: the LibEuFin Nexus configuration file. It's giving "settings, but make it a vibe." Let's go π«Ά
πΈ NAME πΈ
libeufin-nexus.conf β the LibEuFin Nexus configuration file. That's it, that's the whole name, she's iconic and she knows it π
β¨ DESCRIPTION β¨
So the config file is line-oriented, meaning each line is its own little moment. Blank lines? Ignored. Whitespace at the beginning and end of a line? Also ignored, we don't judge π
Comments start with # or % in the first column β and by "first column" we mean after any beginning-of-line whitespace, so you can indent your comments, slay β and they run all the way 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. You can have whitespace around the = (equal sign), no cap. Section names and options are case-insensitive π«
The values though? Oh honey, the values are case-sensitive. In particular, boolean values are one of YES or NO β no yes, no true, no yass, just YES/NO. Values can include whitespace by surrounding the entire value with " (double quote). But heads up π: 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. It's giving "recipe measurements but for time" π
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 β that's the limit, bestie, don't push it.
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 β so yeah, don't create an infinite loop situation, the system is not about that life π
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. Iykyk π₯
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 π (so don't go looking for them in a file, they're not there).
Files containing default values for many of the options described below are installed under $LIBEUFIN_NEXUS_PREFIX/share/libeufin-nexus/config.d/. The configuration file given with -c to Taler binaries overrides these defaults. Periodt π
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. Cute, right? π
π¦ EBICS OPTIONS π¦
The following options are from the [nexus-ebics] section. Main characters only β¨
CURRENCYβ name of the currency, e.g.EURfor Euro. Easy.HOST_BASE_URLβ URL of the EBICS server.HOST_IDβ EBICS specific: name of the EBICS host.USER_IDβ EBICS specific: user ID of the EBICS subscriber. This value must be assigned by the bank after having activated a new EBICS subscriber. No DIY-ing this one π ββοΈPARTNER_IDβ EBICS specific: partner ID of the EBICS subscriber. This value must be assigned by the bank after having activated a new EBICS subscriber. Same energy.IBANβ IBAN of the bank account that is associated with the EBICS subscriber.BICβ BIC of the bank account that is associated with the EBICS subscriber.NAMEβ legal entity that is associated with the EBICS subscriber.BANK_PUBLIC_KEYS_FILEβ filesystem location where Nexus should store the bank public keys πCLIENT_PRIVATE_KEYS_FILEβ filesystem location where Nexus should store the subscriber private keys πBANK_DIALECTβ name of the following combination: EBICS version and ISO20022 recommendations that Nexus would honor in the communication with the bank. Currently only thepostfinance,gls,maerki_baumannorvaliantdialects is supported. (That's the list, bestie β those four, nothing else.)ACCOUNT_TYPEβ specify the account type and therefore the indexing behavior. This can either can benormalorexchange. Exchange accounts bounce invalid incoming Taler transactions π«
π οΈ EBICS SETUP OPTIONS π οΈ
The following configuration value(s) belong to the [nexus-setup] section. Setup era π±
BANK_ENCRYPTION_PUB_KEY_HASHβ bank encryption public key hash.BANK_AUTHENTICATION_PUB_KEY_HASHβ bank authentication public key hash.
π€ EBICS SUBMIT OPTIONS π€
The following configuration value(s) belong to the [nexus-submit] section. Sending it off into the world βοΈ
FREQUENCYβ duration value to instruct theebics-submitsubcommand how much to wait before checking the database again to find new unsubmitted payments. Patience is a virtue π§ββοΈMANUAL_ACKβ wether to wait for manual acknowledgement before submiting transactions. (Yes, the original spells it "wether" and "submiting" β we keep the lore fr fr π)
π₯ EBICS FETCH OPTIONS π₯
The following configuration value(s) belong to the [nexus-fetch] section. Bringing the data home π‘
FREQUENCYβ duration value to instruct theebics-fetchsubcommand how often it should download from the bank.CHECKPOINT_TIME_OF_DAYβ at what timeHH:MMof day shouldebics-fetchperform a checkpoint.IGNORE_TRANSACTIONS_BEFOREβ ignore all transactions before a certainYYYY-MM-DDdate, useful when you want to use an existing account with old transactions that should not be bounced.IGNORE_BOUNCES_BEFOREβ ignore all malformed transactions prior to a certainYYYY-MM-DDdate, useful when you want to import old transactions without bouncing the malformed ones a second time.BOUNCE_DEDUCE_FEEβ whether to deduce the fee paid by the exchange account from the bounced amount.BOUNCE_FEEβ an additional fee to deduce from the bounced amount.RESTRICTION_PAYTO_REGEXβ bounce transactions coming from account not matching this regex. πͺ
π HTTP SERVER OPTIONS π
The following configuration value(s) belong to the [nexus-httpd] section. Server girlie π»
SERVEβ this can either betcporunix.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. Only used ifSERVEistcp. (Note: the original has a stray pair of backticks in there β::1``forβ but the meaning is clear:::1means loopback π)UNIXPATHβ which unix domain path should we bind to? Only used ifSERVEisunix.
πΈ HTTP WIRE GATEWAY API OPTIONS πΈ
The following configuration value(s) belong to the [nexus-httpd-wire-gateway-api] section. Money-moving energy π₯
ENABLEDβ whether to serve the Wire Gateway API.AUTH_METHODβ authentication scheme, this can either bebasic,bearerornone.USERNAMEβ user name forbasicauthentication scheme.PASSWORDβ password forbasicauthentication scheme.TOKENβ token forbearerauthentication scheme.
π° HTTP REVENUE API OPTIONS π°
The following configuration value(s) belong to the [nexus-httpd-revenue-api] section. Revenue era, get that bag π
ENABLEDβ whether to serve the Revenue API.AUTH_METHODβ authentication scheme, this can either bebasic,bearerornone.USERNAMEβ user name forbasicauthentication scheme.PASSWORDβ password forbasicauthentication scheme.TOKENβ token forbearerauthentication scheme.
π HTTP OBSERVABILITY API OPTIONS π
The following configuration value(s) belong to the [nexus-httpd-observability-api] section. Watching, always watching π§
ENABLEDβ whether to serve the Observability API.AUTH_METHODβ authentication scheme, this can either bebasic,bearerornone.USERNAMEβ user name forbasicauthentication scheme.PASSWORDβ password forbasicauthentication scheme.TOKENβ token forbearerauthentication scheme.
ποΈ DATABASE OPTIONS ποΈ
Setting the database belongs to the [libeufin-nexusdb-postgres] section and the following value. That's literally all this section says, bestie β don't @ me π
π¦ SEE ALSO π¦
libeufin-nexus(1)β go read that one next, it's the whole program π
π BUGS π
Report bugs by using https://bugs.taler.net/ or by sending electronic mail to <taler@gnu.org>. They want the bug reports, that's the whole point, so don't be shy π«Ά
π AUTHOR π
GNU Taler contributors.
π COPYRIGHT π
2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+)
aaaand that's the whole page π Version 1.0, dated Dec 22, 2025 β that's the footer flex. Now go forth and configure your Nexus, you absolute icon, and remember: <rainbow>case-sensitive values, case-insensitive options, 128 recursion levels, and exactly zero escape characters in them quotes.</rainbow> Slay πβ¨π
π¦ where this page comes from
- nixos 26.05: libeufin 1.3.0
- nixpkgs unstable: libeufin 1.3.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms