// Uniquely identify this instance, used to tag work-in-progress.
nodeId: common.requestId(), // Default to ephemeral ID: easiest for clustered deployments.
+ // This should be set to a reasonably long passphrase or random buffer, to keep client session data secure.
+ encryptionSecret: undefined, // REQUIRED
+
// Dingus API Server Framework options. Be sure to set the one REQUIRED option here.
dingus: {
// This needs to be the full externally accessible root URL, including any proxyPrefix component, which clients will connect to, and which topics will list as their hub link.
db: {
connectionString: '', // e.g. sqlite://path/to/dbfile.sqlite
queryLogLevel: undefined, // Set to log queries
+ cacheEnabled: true, // Cache some db responses. (Postgres only)
+ listener: { // Settings for the cache-invalidator connection. (Postgres only)
+ // pingDelayMs: 5000, // Connection keep-alive/health-check.
+ // reconnectDelayMs: 6000, // Wait time before attempting reconnection.
+ // reconnectTimes: 10, // Retries limit.
+ },
},
// Logging options
manager: {
pageTitle: packageName, // title on html pages
+ footerEntries: [ // common footers on all html pages
+ '<a href="https://git.squeep.com/?p=websub-hub;a=tree">Development Repository</a> / <a href="https://github.com/thylacine/websub-hub/">GitHub mirror</a>',
+ '<span class="copyright">©<time datetime="2021">ⅯⅯⅩⅩⅠ</time></span>',
+ ],
strictSecrets: false, // If true, reject requests with secrets but not over https
publicHub: true, // Accept publish requests as new topics.
processImmediately: true, // If true, immediately attempt to process requests when accepted.
authenticator: {
basicRealm: packageName, // Realm prompt for login on administration pages
secureAuthOnly: true, // Require secure transport for authentication.
+ authnEnabled: ['argon2', 'pam'],
+ forbiddenPAMIdentifiers: ['root'],
},
worker: {