Peertube and S3/Minio Objectstorage
-
@scooke Well, I'm getting ahead of myself. I've managed to set it up to upload to my Minio... but now there is a problem with playback. As in, the video doesn't playback. When I try to download it, the initial link says
https://peertube.example.com/download/videos/longfilename.mp4
but then starting the download results in a failed white screen saying that the following can't be reached,https://peertube-miniobucket.minio.myserver.com/peertube-miniobucket/videos/longfilename.mp4
.The documentation I find online seems conflicting - some say Peertube doesn't work with S3, others say yes, and still a third says "yes but with a CDN directive". So I'm off to see what I can find out.
-
@scooke Try unsetting
base_url
and see if that works. I think base_url is for CDN setups which requires additional configuration - https://docs.joinpeertube.org/admin-remote-storage?id=cache-server . In a CDN setup, the video is served to the browser straight from minio (as opposed to browser -> peertube -> minio). -
@girish Holy smokes. That did it. I just # commented out those two base_url lines, restarted the app, and now the upload works, and the download.
Now, I thought I had reached a similar point before, but I think what I had missed was copying the new cert to the proper directory. Thus, it wasn't working.
Now, it is. You sir are a magician.
-
@awnzky said in Peertube and S3/Minio Objectstorage:
iam already try using contabo. it's does not work.
Wish I'd read/ seen this earlier. I just spent hours pulling my hair trying to get contabo object storage to work with peertube but I just couldn't get it to work either (whereas on Scaleway it Just Worked - and even when it didn't work, like when I hadn't set the region, it gave useful error messages telling me what was wrong and how to fix it )
However, even with the S3 connection to my Scaleway object buckets working fine, playback actually just didn't work
Playback with Object Storage disabled works fine.
I don't have any base_url set anywhere.
-
@jdaviescoates playback may require the bucket to be https accessible, which is a setting.
-
@robi said in Peertube and S3/Minio Objectstorage:
@jdaviescoates playback may require the bucket to be https accessible, which is a setting.
You mean making the bucket public? Already is. Can't find any other settings related to https.
-
@jdaviescoates I wonder if the problem is the TYPE of bucket. In the comments above I was running a self-installed instance of Minio. That is, I didn't use Yunohost, or CapRover, or Cloudron, etc. I installed it by hand. Somehow (I guess I could figure it out by rereading the above) I set Minio up to use virtual-host, rather than path-style. And for whatever reason, Peertube (only) works with virtual-host style. Maybe this has something to do with it?
FWIW (I'm only getting my own head sort of around all this), the end_point in teh config has to be whatever your API enpoint is. Off the top of my head, I forget how to tell which is which, but one address is the home adress, and the other is the end point address. That is to say, when it is being installed on mino.example.com, a second API address is created, something like minio-s3.example.com. The API is the address needed.
-
@scooke said in Peertube and S3/Minio Objectstorage:
Maybe this has something to do with it?
That's why Contabo didn't work, I think.
But Scaleway does support that and did work in that the files get transferred to the bucket fine. It's just that then playback basically doesn't work at all.
-
@jdaviescoates Care to share your config (the pertinent part)?
-
# Store all videos in one bucket on Scaleway object_storage: enabled: true # Scaleway endpoint endpoint: 's3.fr-par.scw.cloud' region: 'fr-par' videos: bucket_name: 'bridport-tv' prefix: 'videos/' # Use the same bucket as for webtorrent videos but with a different prefix streaming_playlists: bucket_name: 'bridport-tv' prefix: 'streaming-playlists/' credentials: access_key_id: 'xxxxx' secret_access_key: 'xxxxx'
That's was working fine for getting stuff into the bucket, but then videos didn't actually play
Bucket is also public:
-
@jdaviescoates if you get a public link, does it play in the browser?
compare that to the link the app tries to use?
-
@robi said in Peertube and S3/Minio Objectstorage:
@jdaviescoates if you get a public link, does it play in the browser?
Yes
-
@robi said in Peertube and S3/Minio Objectstorage:
compare that to the link the app tries to use?
Looking for that I spotted this:
CORS Missing Allowed Origin
I guess that's likely the problem...
(man, it's SO much easier doing this stuff when I'm not both freezing cold and way too tired! /me reminds himself, again, to get more f-ing sleep and go to bed on f-ing time!)
-
Woohoo!
So, after following this guide:
https://www.scaleway.com/en/docs/storage/object/api-cli/object-storage-aws-cli/
And then this guide:
https://www.scaleway.com/en/docs/storage/object/api-cli/setting-cors-rules/
I now have videos stored on S3 that ALSO play!
-
Scaleway are great. Good prices, great docs!
I was tempted by special offer Contabo pricing, but unlike Scaleway they aren't 100% renewably powered (although their German based stuff when I'd bought some object storage is), and their docs are crap.
So looks like I'll just ditch Contabo and stick with using Scaleway for my Object Storage needs.
-
anyone done this on Linode?
-
@scooke Thanks for asking this question. I might try this using block storage with Wasabi and PeerTube.
Why is object storage suitable for this task? Isn't object storage better for keeping gigantic files? I suppose a considerable archive of videos would end up needing a large amount of storage, but they would all be separate files.
-
@LoudLemur said in Peertube and S3/Minio Objectstorage:
Why is object storage suitable for this task? Isn't object storage better for keeping gigantic files?
Video files are relatively large files.
But aside from that, often VPS servers don't come with much disk space and so Object Storage is just one relatively cheap way of increasing the amount of storage you have.
@LoudLemur said in Peertube and S3/Minio Objectstorage:
Wasabi
Lots of people on here seem to have moved away from them for various reasons.
The cheapest out there seems to be iDrive e2 who have a 90% off offer which makes it insanely cheap for the first year (and pretty good value after that):
Personally I use Scaleway who are also good value and 100% powered by renewable energy
I've got all my instances of Peertube, Mastodon, and Pixelfed all storing their data on Scaleway Object Storage.
-
@jdaviescoates You are so good to me!
Thank you. I shall look into those. -
I'm wondering if there is a path to do this with Peertube + Hetzner storage box or if the S3 Storage objects way is the only way to store peertube video content outside the cloudron, anyone tried ?
edit : Hmm apparently, the answer is no, only S3 is supported : https://docs.joinpeertube.org/maintain/remote-storage#migrate-to-another-object-storage-provider