Seems if the matrix server throws an error Node-RED will fail to start. This happened because my server ran out of space crashing PostgreSQL which then brought down Matrix and Node-RED.
Welcome to Node-RED
===================
5 Jan 20:34:07 - [info] Node-RED version: v3.1.3
5 Jan 20:34:07 - [info] Node.js version: v18.19.0
5 Jan 20:34:07 - [info] Linux 6.1.64-Unraid x64 LE
5 Jan 20:34:08 - [info] Loading palette nodes
...
5 Jan 20:34:20 - [info] Settings file : /data/settings.js
5 Jan 20:34:20 - [info] Context store : 'default' [module=memory]
5 Jan 20:34:20 - [info] User directory : /data
5 Jan 20:34:20 - [info] Projects directory: /data/projects
5 Jan 20:34:20 - [info] Server now running at http://127.0.0.1:1880/
5 Jan 20:34:20 - [info] Flows file : /data/projects/node-red-home-automation/flows.json
5 Jan 20:34:21 - [info] Starting flows
5 Jan 20:34:21 - [info] [matrix-server-config:@xxx] Initializing Matrix Server Config node
5 Jan 20:34:21 - [info] [matrix-server-config:@xxx] Initializing Matrix Server Config node
5 Jan 20:34:22 - [info] Started flows
5 Jan 20:34:23 - [info] [matrix-server-config:@xxx] Initializing crypto...
5 Jan 20:34:23 - [info] [matrix-server-config:@xxx] Connecting to Matrix server...
5 Jan 20:34:23 - [info] [matrix-server-config:@xxx] Connecting to Matrix server...
5 Jan 20:34:23 - [error] M_UNKNOWN: MatrixError: [500] Internal server error (https://matrix.skylar.tech/_matrix/client/r0/keys/upload)
at parseErrorResponse (/data/node_modules/matrix-js-sdk/lib/http-api/utils.js:81:12)
at MatrixHttpApi.requestOtherUrl (/data/node_modules/matrix-js-sdk/lib/http-api/fetch.js:260:44)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
5 Jan 20:34:25 - [info]
Seems if the matrix server throws an error Node-RED will fail to start. This happened because my server ran out of space crashing PostgreSQL which then brought down Matrix and Node-RED.