Intial setup fails with SequelizeDatabaseError null value in column

Hi all, I’m a newbie to Peertube and just trying to get it running in my VPS. I’m stuck when trying to start peertube with the following error. Any help is appreciated

« message »: « null value in column "nodeVersion" violates not-null constraint »,
Jan 02 02:31:36 server1.flashist.art peertube[19379]: « name »: « SequelizeDatabaseError »,
Jan 02 02:31:36 server1.flashist.art peertube[19379]: « parent »: {
Jan 02 02:31:36 server1.flashist.art peertube[19379]: « stack »: « error: null value in column "nodeVersion" violates not-null constraint\n at Parser.parseErrorMessage (/var/www/peertube/versions/peertube-v5.0.0/node_modules/pg-protocol/dist/parser.js:287:98)\n at Parser.handlePacket (/var/www/peertube/versions/peertube-v5.0.0/node_modules/pg-protocol/dist/parser.js:126:29)\n at Parser.parse (/var/www/peertube/versions/peertube-v5.0.0/node_modules/pg-protocol/dist/parser.js:39:38)\n at Socket. (/var/www/peertube/versions/peertube-v5.0.0/node_modules/pg-protocol/dist/index.js:11:42)\n at Socket.emit (events.js:400:28)\n at addChunk (internal/streams/readable.js:293:12)\n at readableAddChunk (internal/streams/readable.js:267:9)\n at Socket.Readable.push (internal/streams/readable.js:206:10)\n at TCP.onStreamRead (internal/stream_base_commons.js:188:23) »,

Hi,

Can you paste log lines above this error?

Hi,

I think I have the same problem. Here are all the lines (please tell me if you need more info):

root@CamilleKaze-PC:/home/rahic/studios/dev/peertube-fork/my-peertube-fork# NODE_ENV=dev npm start

> peertube@5.2.0-rc.1 start
> node dist/server

[localhost:9000] 2023-06-16 15:42:18.038 debug: Checking NodeJS version v20.3.0.
[localhost:9000] 2023-06-16 15:42:20.602 info: Using following configuration file hierarchy: /home/rahic/studios/dev/peertube-fork/my-peertube-fork/config/default.yaml -> /home/rahic/studios/dev/peertube-fork/my-peertube-fork/config/dev.yaml.
[localhost:9000] 2023-06-16 15:42:20.603 warn: Emailer is disabled but signup approval is enabled: PeerTube will not be able to send an email to the user upon acceptance/rejection of the registration request
[localhost:9000] 2023-06-16 15:42:20.603 warn: Emailer is disabled so the contact form will not work.
[localhost:9000 uploadx] 2023-06-16 15:42:20.773 debug: DiskStorage config: {
  directory: '/home/rahic/studios/dev/peertube-fork/my-peertube-fork/storage/tmp/resumable-uploads',
  expiration: { maxAge: undefined, rolling: true },
  maxMetadataSize: '10MB',
  logger: [Function: Object],
  userIdentifier: [Function: userIdentifier],
  filename: [Function: filename]
}
[localhost:9000 uploadx] 2023-06-16 15:42:20.777 debug: Registered handlers: DELETE, GET, OPTIONS, PATCH, POST, PUT
[localhost:9000] 2023-06-16 15:42:20.992 debug: Executed SQL request in 1ms - Executed (default): SELECT 1+1 AS result
[localhost:9000] 2023-06-16 15:42:20.994 debug: Connection to PostgreSQL has been established successfully.
[localhost:9000] 2023-06-16 15:42:21.001 debug: Executed SQL request in 7ms - Executed (default): SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_type LIKE '%TABLE' AND table_name != 'spatial_ref_sys';
[localhost:9000] 2023-06-16 15:42:21.004 debug: Executed SQL request in 1ms - Executed (default): SELECT "migrationVersion" FROM "application"
[localhost:9000] 2023-06-16 15:42:21.011 error: Cannot start application. {
  "err": {
    "stack": "Error\n    at Query.run (/home/rahic/studios/dev/peertube-fork/my-peertube-fork/node_modules/sequelize/lib/dialects/postgres/query.js:50:25)\n    at /home/rahic/studios/dev/peertube-fork/my-peertube-fork/node_modules/sequelize/lib/sequelize.js:315:28\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
    "message": "null value in column \"nodeVersion\" of relation \"application\" violates not-null constraint",
    "name": "SequelizeDatabaseError",
    "parent": {
      "stack": "error: null value in column \"nodeVersion\" of relation \"application\" violates not-null constraint\n    at Parser.parseErrorMessage (/home/rahic/studios/dev/peertube-fork/my-peertube-fork/node_modules/pg-protocol/dist/parser.js:287:98)\n    at Parser.handlePacket (/home/rahic/studios/dev/peertube-fork/my-peertube-fork/node_modules/pg-protocol/dist/parser.js:126:29)\n    at Parser.parse (/home/rahic/studios/dev/peertube-fork/my-peertube-fork/node_modules/pg-protocol/dist/parser.js:39:38)\n    at Socket.<anonymous> (/home/rahic/studios/dev/peertube-fork/my-peertube-fork/node_modules/pg-protocol/dist/index.js:11:42)\n    at Socket.emit (node:events:511:28)\n    at addChunk (node:internal/streams/readable:332:12)\n    at readableAddChunk (node:internal/streams/readable:305:9)\n    at Readable.push (node:internal/streams/readable:242:10)\n    at TCP.onStreamRead (node:internal/stream_base_commons:190:23)",
      "message": "null value in column \"nodeVersion\" of relation \"application\" violates not-null constraint",
      "length": 234,
      "name": "error",
      "severity": "ERROR",
      "code": "23502",
      "detail": "Failing row contains (6, 0, null, null, null).",
      "schema": "public",
      "table": "application",
      "column": "nodeVersion",
      "file": "execMain.c",
      "line": "1883",
      "routine": "ExecConstraints",
      "sql": "INSERT INTO \"application\" (\"migrationVersion\") VALUES (0)"
    },
    "sql": "INSERT INTO \"application\" (\"migrationVersion\") VALUES (0)",
    "parameters": {}
  }
}
root@CamilleKaze-PC:/home/rahic/studios/dev/peertube-fork/my-peertube-fork# 

I’m trying to run an instance on my PC in order to start developing a plugin (I haven’t started yet, I’m just trying to get an instance running for now).

I followed all the Ubuntu instructions here: PeerTube/support/doc/dependencies.md at develop · Chocobozzz/PeerTube · GitHub
and all the steps here: PeerTube/.github/CONTRIBUTING.md at develop · Chocobozzz/PeerTube · GitHub until running « npm run dev » (same problem with « NODE_ENV=dev npm start »).

Thank you very much for your help,

Camille

If Docker is an option, I documented a way to use docker for plugin development here (in french):

And there is a repository based on my tutorial, with english instructions here:

Thank you! I’ll check this out :+1: