- JavaScript 100%
| client | ||
| docs | ||
| scripts | ||
| .gitignore | ||
| .npmignore | ||
| LICENSE | ||
| main.js | ||
| package.json | ||
| README.md | ||
Hypha festival importer plugin for Peertube
This is a plugin for peertube, that can be used to automatically import information about conference talks and other contributions from the conference lineup in the Hypha festival module.
Hypha is a low-dependency PHP CMS aimed at supporting communication for small communities. One of its modules is the festival module, which is intended to facilitate low-organisation festivals and unconferences, where visitors can fill the event lineup without organizer intervention.
Hypha is used to organize the Koppelting unconference, together with the unconference kit for livestreaming and recording via Peertube.
The plugin in this repository is then used to import data from the unconference lineup into peertube when publishing the recordings, to reduce manual work to publish the recordings.
How it works
The plugin adds a new field to the video edit interface. In this field, you can put a hypha festival lineup url with an anchor to a specific entry (which is easy to copy-paste from the festival lineup). e.g.:
After pasting a URL in there, the relevant info is queried from the Hypha website and used to fill the video title and description, which can be reviewed before saving (this all happens client-side).
Note: The existing title, description and thumbnail are completely replaced, so typically you would only use this once before any manual modifications.
Hypha requirements
This currently (2026-08) requires a not-yet-commited version of Hypha, which only runs on koppelting.nl so far.
Additionally, because the requests to Hypha are made from the browser, the Hypha instance must send CORS headers to allow the peertube server (or all origins). This applies to the contribution index and to the images.
How to install
git clone https://code.planb.coop/Unconferencekit/peertube-plugin-hypha-festival-import.git
(cd peertube-plugin-hypha-festival-import; npm run build)
docker cp peertube-plugin-hypha-festival-import peertube-peertube-1:/peertube-plugin-hypha-festival-import
docker compose exec peertube chown -R peertube: /peertube-plugin-hypha-festival-import
docker compose exec peertube rm -rf /data/plugins/node_modules/peertube-plugin-hypha-festival-import
docker compose exec -u peertube peertube npm run plugin:install -- --plugin-path /peertube-plugin-hypha-festival-import
Note that the rm -rf is only needed on updates for unclear reasons (see https://github.com/Chocobozzz/PeerTube/issues/7765).
Origins
This plugin is partly based on the https://github.com/beeldengeluid/peertube-plugin-event-metadata plugin, but modified to work with Hypha instead of the original event metadata format, to store the result in the video description instead of custom fields, and simplified to handle everything in the client.
License
The content of this project is licensed under the GNU Affero General Public License v3.0
