I installed Peertube using a Docker tutorial uploaded by Chipio Industries: (https://www.youtube.com/watch?v=qpkHvnkB4IQ) but have encountered three persistent issues regarding the plugin search menu and with plugin registration.
Issue 1:
The plugin search consistently times out whenever I try to access it, even though I can directly access it using curl:
error[6/4/2025, 12:27:36 PM] Cannot list available plugins from index https://packages.joinpeertube.org/api/v1/plugins.
{
"err": {
"stack": "RequestError: Timeout awaiting 'request' for 7000ms\n at ClientRequest.<anonymous> (file:///app/node_modules/got/dist/source/core/index.js:792:61)\n at Object.onceWrapper (node:events:632:26)\n at ClientRequest.emit (node:events:529:35)\n at TLSSocket.socketErrorListener (node:_http_client:501:9)\n at TLSSocket.emit (node:events:517:28)\n at emitErrorNT (node:internal/streams/destroy:151:8)\n at emitErrorCloseNT (node:internal/streams/destroy:116:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)\n at Timeout.timeoutHandler [as _onTimeout] (file:///app/node_modules/got/dist/source/core/timed-out.js:42:25)\n at listOnTimeout (node:internal/timers:571:11)\n at process.processTimers (node:internal/timers:512:7)",
"message": "Timeout awaiting 'request' for 7000ms",
"name": "TimeoutError",
"requestHeaders": {
"user-agent": "PeerTube/6.2.1 (+https://***)",
"date": "Wed, 04 Jun 2025 19:27:12 GMT",
"accept": "application/json",
"accept-encoding": "gzip, deflate, br",
"host": "packages.joinpeertube.org"
}
}
This also happens during plugin update checks. curl -v https://packages.joinpeertube.org/api/v1/plugins
also works both inside and outside the container, while curl -v https://packages.joinpeertube.org/api/v1/plugins/available
gives a 400 error outside the container and a 503 error with « curl -H ». I have no idea if it is a DNS issue or an internal PeerTube error. After looking at this page, I disabled ipv6 on the docker-compose.yml and it didn’t work: https://framacolibri.org/t/theme-search-causes-message-plugin-index-is-not-available/16041
Issue 2:
When I build a test plugin and try to install it, for example, the « hello-world » plugin, the plugin will not show up in the menu unless I install the plugin directly into the Postgres database, enabling the plugin there. But that only works for plugins accessible from the npm registry, not a plugin activated from the server logs. Is this expected behavior for locally developed plugins?
Issue 3:
When I try to register another plugin, I get this error:
Client log: Cannot import or register plugin video-open-button
{
"tags": [
"client"
],
"username": "root",
"userAgent": "***",
"stackTrace": "l.register is not a function\nTypeError: l.register is not a function\n at https://***/client/en-US/chunk-CLFJUPDM.js:11:65841\n at o.invoke (https://***/client/en-US/polyfills-V7PT2CCL.js:1:119357)\n at Object.onInvoke (https://***/client/en-US/chunk-CLFJUPDM.js:7:65198)\n at o.invoke (https://***/client/en-US/polyfills-V7PT2CCL.js:1:119297)\n at D.run (https://***/client/en-US/polyfills-V7PT2CCL.js:1:114647)\n at https://***/client/en-US/polyfills-V7PT2CCL.js:2:560\n at o.invokeTask (https://***/client/en-US/polyfills-V7PT2CCL.js:1:119985)\n at Object.onInvokeTask (https://***/client/en-US/chunk-CLFJUPDM.js:7:65012)\n at o.invokeTask (https://***/client/en-US/polyfills-V7PT2CCL.js:1:119906)\n at D.runTask (https://***/client/en-US/polyfills-V7PT2CCL.js:1:115264)",
"url": "https://***/admin/plugins/list-installed?pluginType=1"
}
This error prevents proper plugin registration but also allows me to access the local plugin’s settings. I don’t have a good idea how to run the plugin as intended or how it should be formatted, nor do I know if this is an error related to installing local plugins without a corresponding registry or not.
I don’t have much experience as a web programmer, so I’ve included as much detail as possible in case they prove to be useful in reproducing these errors (or if I made errors myself).
Thanks in advance for your assistance.