signald
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Configuration Options

signald has several configuration options to alter it’s behavior. Most can be configured via the command line or an environment variable.

Usage: signald [-hmuvV] [--dump-protocol] [--log-database-transactions]
               [--log-http-requests] [--migrate-data] [--system-socket]
               [--trust-all-keys-on-start] [--trust-new-keys]
               [-d=<dataPath>] [--database=<db>]
               [--db-timeout=<dbTimeout>]
               [--decrypt-timeout=<decryptionTimeout>]
               [--metrics-http-port=port] [-s=<socketPath>]
  -d, --data=<dataPath>     Data storage location
      --database=<db>       jdbc connection string. Defaults to sqlite:~/.
                              config/signald/signald.db (sqlite and postgres
                              supported)
      --db-timeout=<dbTimeout>
                            configure the database network timeout in
                              milliseconds, only works for postgres databases.
                              Environment variable SIGNALD_DB_TIMEOUT.
      --decrypt-timeout=<decryptionTimeout>
                            decryption timeout (in seconds). if signald detects
                              that decryption has taken longer than this, it
                              will exit with code 101
      --dump-protocol       print a machine-readable description of the client
                              protocol to stdout and exit (https://signald.
                              org/articles/protocol/documentation/)
  -h, --help                display this help message
      --log-database-transactions
                            log when DB transactions occur and how long they
                              took. Note that db logs are at the debug level,
                              so --verbose should also be used. (env
                              SIGNALD_LOG_DB_TRANSACTIONS=true)
      --log-http-requests   log all requests send to the server. this is used
                              for debugging but generally should not be used
                              otherwise (env SIGNALD_HTTP_LOGGING=true)
  -m, --metrics             record and expose metrics in prometheus format (env
                              SIGNALD_ENABLE_METRICS)
      --metrics-http-port=port
                            metrics http listener port (env
                              SIGNALD_METRICS_PORT)
      --migrate-data        complete all required data migrations and exit.
                              This includes applying database migrations,
                              moving any data found in the legacy JSON files to
                              the database and trusting identity keys if
                              requested
  -s, --socket=<socketPath> The path to the socket file
      --system-socket       make the socket file accessible system-wide
      --trust-all-keys-on-start
                            mark all known keys as trusted on startup (env
                              SIGNALD_TRUST_ALL_KEYS=true)
      --trust-new-keys      when a remote key changes, set trust level to
                              TRUSTED_UNVERIFIED instead of UNTRUSTED (env
                              SIGNALD_TRUST_NEW_KEYS=true)
  -u, --user-socket         put the socket in the user runtime directory
                              ($XDG_RUNTIME_DIR), the default unless --socket
                              or --system-socket is specified
  -v, --verbose             Verbose mode. Helpful for troubleshooting (env
                              SIGNALD_VERBOSE_LOGGING)
  -V, --version