Considering PeerTube or Bunny.net Integration for Video Hosting with Discourse

AI-generated summary

wenqin seeks solutions for handling user-uploaded videos in Discourse, noting that native handling causes heavy server load. They propose integrating with PeerTube or Bunny.net to offload storage and playback. However, wenqin encountered two main issues: PeerTube links only show thumbnails rather than embedding players, and iframe embed codes result in blank posts. Their ideal workflow involves seamless integration where Discourse uploads automatically sync to PeerTube or Bunny.net under the admin’s account, maintaining a unified user experience.

nathank suggests that the iframe failure is likely due to the PeerTube domain not being added to the iframe whitelist setting. They also mention an unmaintained theme component that previously handled YouTube and Vimeo uploads. tobiaseigen later asks if the issue was resolved, as they are experiencing similar problems with PeerTube embedding. satonotdead supports the interest in both services. tobiaseigen eventually finds a solution by adding the PeerTube server URL to the allowed iframes admin setting, which allows the video to appear in posts, though playback functionality still requires further troubleshooting. The discussion highlights the technical hurdles in integrating external video hosts with Discourse’s security and embedding policies.

Hello everyone,

I’ve recently built a Discourse forum and enabled users to upload videos.
However, I noticed that Discourse’s built-in video handling isn’t very efficient or user-friendly.

I don’t have much coding experience, but from what I’ve learned, this might be due to how Discourse handles video playback at the system level — it can put heavy load on the server, especially when users upload large video files.

Because of that, I started exploring PeerTube as an external video hosting system to support video uploads and playback for my forum.


:small_blue_diamond: Issue 1: PeerTube videos don’t embed properly in Discourse

When I paste a PeerTube video link into the Discourse composer, it only shows a thumbnail preview — not an embedded player.
Users need to click the thumbnail and get redirected to PeerTube to watch the video, just like how Google Drive video links behave.

I also tried using PeerTube’s iframe embed code, but it didn’t work either.
In fact, after posting, the reply became completely blank and no video appeared at all.


:small_blue_diamond: Issue 2: Desired integration between PeerTube and Discourse

If I can make PeerTube videos playable directly inside Discourse, my ideal setup would be to connect the membership systems of both platforms.

Here’s what I hope to achieve:

  • When a logged-in user uploads a video on Discourse,

  • The video is actually uploaded to PeerTube under the same linked account,

  • And a playback link (or embedded player) is automatically inserted into the Discourse post.

This would keep videos off the Discourse server while maintaining a seamless user experience.


:small_blue_diamond: Alternative idea: Bunny.net integration

I recently learned about https://dash.bunny.net, which seems like a promising video distribution service.

In theory, it would be perfect if:

  • The forum admin registers and pays for a Bunny.net account, and

  • All videos uploaded by users on Discourse are actually uploaded to Bunny.net under the admin’s account,

  • With playback handled through Bunny’s CDN for fast delivery.

I understand that cross-system integration like this might be difficult, but I wanted to ask whether it’s possible or if any similar projects already exist.


:speech_balloon: Closing note

I’m not a programmer, so please forgive me if some of my assumptions are technically naïve.
Still, I really want to find a sustainable way to handle video uploads and playback on Discourse.

If anyone has experience connecting Discourse with PeerTube, Bunny.net, or any other video hosting platform,
I would greatly appreciate your advice or guidance.

Thank you very much for your time and help. :folded_hands:

Did you add PeerTube to the iframe whitelist setting?

Still, it would be asking a bit much of your users to embed iframes.

There is a YouTube + Vimeo Theme component which achieved pretty much what you are seeking (at least with Vimeo), but it sadly hasn’t been maintained:

Did you ever figure this out? I am currently experimenting with peertube and would like to be able to embed videos directly in my discourse posts. These are short screencasts and my site is private and not busy, so this should be a no brainer. But I am getting the same behavior as in the OP.

+1 to both services, I self-host Peertube and have used Bunny for years.

The answer appears to be in this older topic. You have to add the URL of the peertube server you want to use to the allowed iframes admin setting. So far I am seeing the video show up in my post but when I hit play it does not play. Still fiddling..