rez0n / docker-nodebb

NodeBB forum software Docker image with persistent storage support. k8s tested.
https://hub.docker.com/r/nibrev/nodebb
31 stars 13 forks source link

nodebb-plugin-recent-cards plugin persistence error #156

Open ererermao opened 3 years ago

ererermao commented 3 years ago

Good day!

I cannot start normally after restarting, and the plugin persistence is a bit abnormal

version: "2.2"

services:
  redis:
    image: redis:latest
    volumes: 
      - './redis/:/data/'
    ports:
      - '6379:6379'
  bbs:
    image: nibrev/nodebb:v1.16.2
    ports:
      - "4567:4567"
    volumes: 
      - './data:/data'
    environment:
      - URL=http://127.0.0.1:4567
      - DATABASE=redis
      - DB_NAME=0
      - DB_HOST=redis
      - DB_PORT=6379
bbs_1    |   started
bbs_1    | 2021-03-11T05:31:51.681Z [4567/12] - info: [build] Building in series mode
bbs_1    | 2021-03-11T05:31:51.682Z [4567/12] - info: [build]         plugin static dirs  build started
bbs_1    | 2021-03-11T05:31:51.685Z [4567/12] - info: [build]         plugin static dirs  build completed in 0.004sec
bbs_1    | 2021-03-11T05:31:51.685Z [4567/12] - info: [build]          requirejs modules  build started
bbs_1    | 2021-03-11T05:31:55.121Z [4567/12] - info: [build]          requirejs modules  build completed in 3.436sec
bbs_1    | 2021-03-11T05:31:55.122Z [4567/12] - info: [build]           client js bundle  build started
bbs_1    | 2021-03-11T05:31:56.462Z [4567/12] - info: [build]           client js bundle  build completed in 1.34sec
bbs_1    | 2021-03-11T05:31:56.463Z [4567/12] - info: [build]            admin js bundle  build started
bbs_1    | 2021-03-11T05:31:57.723Z [4567/12] - info: [build]            admin js bundle  build completed in 1.26sec
bbs_1    | 2021-03-11T05:31:57.723Z [4567/12] - info: [build]         client side styles  build started
bbs_1    | 2021-03-11T05:32:00.011Z [4567/12] - info: [build]         client side styles  build completed in 2.288sec
bbs_1    | 2021-03-11T05:32:00.011Z [4567/12] - info: [build] admin control panel styles  build started
bbs_1    | 2021-03-11T05:32:01.933Z [4567/12] - info: [build] admin control panel styles  build completed in 1.922sec
bbs_1    | 2021-03-11T05:32:01.933Z [4567/12] - info: [build]                  templates  build started
bbs_1    | 2021-03-11T05:32:02.240Z [4567/12] - info: [build]                  templates  build completed in 0.307sec
bbs_1    | 2021-03-11T05:32:02.240Z [4567/12] - info: [build]                  languages  build started
bbs_1    | 2021-03-11T05:32:04.328Z [4567/12] - info: [build]                  languages  build completed in 2.088sec
bbs_1    | 2021-03-11T05:32:04.328Z [4567/12] - info: [build] Asset compilation successful. Completed in 12.647sec.
bbs_1    | 
bbs_1    | Updating NodeBB...
bbs_1    | 
bbs_1    | 1. Updating package.json file with defaults...  OK
bbs_1    | 
bbs_1    | 2. Bringing base dependencies up to date...  started
bbs_1    | npm WARN nodebb-plugin-emoji-android@2.0.0 requires a peer of nodebb-plugin-emoji@^2.0.0 but none is installed. You must install peer dependencies yourself.
bbs_1    | npm WARN textcomplete.contenteditable@0.1.1 requires a peer of textcomplete@^0.14.2 but none is installed. You must install peer dependencies yourself.
bbs_1    | 
bbs_1    | added 1 package from 1 contributor and audited 1293 packages in 5.712s
bbs_1    | 
bbs_1    | 32 packages are looking for funding
bbs_1    |   run `npm fund` for details
bbs_1    | 
bbs_1    | found 1 moderate severity vulnerability
bbs_1    |   run `npm audit fix` to fix them, or `npm audit` for details
bbs_1    | 
bbs_1    | 3. Checking installed plugins for updates...  OK
bbs_1    | 4. Updating NodeBB data store schema...
bbs_1    | Parsing upgrade scripts... 
bbs_1    | OK | 0 script(s) found, 101 skipped
bbs_1    | Schema update complete!
bbs_1    | 
bbs_1    | 
bbs_1    | 
bbs_1    |   NodeBB Upgrade Complete!
bbs_1    | 
bbs_1    | 
bbs_1    | NodeBB v1.16.2 Copyright (C) 2013-2014 NodeBB Inc.
bbs_1    | This program comes with ABSOLUTELY NO WARRANTY.
bbs_1    | This is free software, and you are welcome to redistribute it under certain conditions.
bbs_1    | For the full license, please visit: http://www.gnu.org/copyleft/gpl.html
bbs_1    | 
bbs_1    | Clustering enabled: Spinning up 1 process(es).
bbs_1    | 
bbs_1    | 2021-03-11T05:32:13.143Z [4567/67] - info: Initializing NodeBB v1.16.2 http://127.0.0.1:4567
bbs_1    | 2021-03-11T05:32:14.186Z [4567/67] - info: [socket.io] Restricting access to origin: http://127.0.0.1:*
bbs_1    | 2021-03-11T05:32:14.427Z [4567/67] - info: [api] Adding 0 route(s) to `api/v3/plugins`
bbs_1    | 2021-03-11T05:32:14.435Z [4567/67] - info: Routes added
bbs_1    | 2021-03-11T05:32:14.436Z [4567/67] - info: NodeBB Ready
bbs_1    | 2021-03-11T05:32:14.437Z [4567/67] - info: Enabling 'trust proxy'
bbs_1    | 2021-03-11T05:32:14.438Z [4567/67] - info: NodeBB is now listening on: 0.0.0.0:4567
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Error: Failed to lookup view "partials/nodebb-plugin-recent-cards/header" in views directory "/usr/src/app/build/public/templates"
bbs_1    |     at Function.render (/usr/src/app/node_modules/express/lib/application.js:580:17)
bbs_1    |     at Function.<anonymous> (/usr/src/app/src/webserver.js:11:63)
bbs_1    |     at internal/util.js:297:30
bbs_1    |     at new Promise (<anonymous>)
bbs_1    |     at Function.renderAsync (internal/util.js:296:12)
bbs_1    |     at Object.plugin.renderWidget [as method] (/usr/src/app/node_modules/nodebb-plugin-recent-cards/library.js:92:26)
bbs_1    |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
bbs_1    | (node:67) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Error: Failed to lookup view "partials/nodebb-plugin-recent-cards/header" in views directory "/usr/src/app/build/public/templates"
bbs_1    |     at Function.render (/usr/src/app/node_modules/express/lib/application.js:580:17)
bbs_1    |     at Function.<anonymous> (/usr/src/app/src/webserver.js:11:63)
bbs_1    |     at internal/util.js:297:30
bbs_1    |     at new Promise (<anonymous>)
bbs_1    |     at Function.renderAsync (internal/util.js:296:12)
bbs_1    |     at Object.plugin.renderWidget [as method] (/usr/src/app/node_modules/nodebb-plugin-recent-cards/library.js:92:26)
bbs_1    |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Error: Failed to lookup view "partials/nodebb-plugin-recent-cards/header" in views directory "/usr/src/app/build/public/templates"
bbs_1    |     at Function.render (/usr/src/app/node_modules/express/lib/application.js:580:17)
bbs_1    |     at Function.<anonymous> (/usr/src/app/src/webserver.js:11:63)
bbs_1    |     at internal/util.js:297:30
bbs_1    |     at new Promise (<anonymous>)
bbs_1    |     at Function.renderAsync (internal/util.js:296:12)
bbs_1    |     at Object.plugin.renderWidget [as method] (/usr/src/app/node_modules/nodebb-plugin-recent-cards/library.js:92:26)
bbs_1    |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Error: Failed to lookup view "partials/nodebb-plugin-recent-cards/header" in views directory "/usr/src/app/build/public/templates"
bbs_1    |     at Function.render (/usr/src/app/node_modules/express/lib/application.js:580:17)
bbs_1    |     at Function.<anonymous> (/usr/src/app/src/webserver.js:11:63)
bbs_1    |     at internal/util.js:297:30
bbs_1    |     at new Promise (<anonymous>)
bbs_1    |     at Function.renderAsync (internal/util.js:296:12)
bbs_1    |     at Object.plugin.renderWidget [as method] (/usr/src/app/node_modules/nodebb-plugin-recent-cards/library.js:92:26)
bbs_1    |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 8)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Error: Failed to lookup view "partials/nodebb-plugin-recent-cards/header" in views directory "/usr/src/app/build/public/templates"
bbs_1    |     at Function.render (/usr/src/app/node_modules/express/lib/application.js:580:17)
bbs_1    |     at Function.<anonymous> (/usr/src/app/src/webserver.js:11:63)
bbs_1    |     at internal/util.js:297:30
bbs_1    |     at new Promise (<anonymous>)
bbs_1    |     at Function.renderAsync (internal/util.js:296:12)
bbs_1    |     at Object.plugin.renderWidget [as method] (/usr/src/app/node_modules/nodebb-plugin-recent-cards/library.js:92:26)
bbs_1    |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
bbs_1    | (node:67) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 10)
user592965 commented 2 years ago

Hello, I don't know the origin of your problem, but I had something a bit similar because of plugins. By doing a second rebuild of nodebb at startup everything goes back to normal, so I added this command to docker-compose

  command: >
      sh -c "sleep 10 &&
             /usr/src/app/nodebb build &&
             /usr/src/app/nodebb start"