Gabe Rocks!

🖥️ Tech

🤔 Rambling

🐷 Health

Fixing the PeerTube plugin on Grayjay

Adding remote video support to the Grayjay peertube Plugin

Nov 02 2023

Correction I originally wrote that Grayjay was FOSS, this isn’t true. Grayjay is simply source-available, even if the plugins actually are licensed under the GPL.

Grayjay appears to be intended to be a one-stop-shop for all of one’s digital consumption needs. It has support for YouTube, Rumble, Odysee, and others, but what got my attention was the PeerTube support.

I still don’t quite understand how plugins work under the hood. It seems that they inherit functionality from classes that provide standard interfaces for the client to use. Essentially the goal seems to be that every platform can be abstracted in the form of a plugin.

Some updates

Thoughts, Tips, and recent misadventures

Sep 14 2023

Some updates

Matrix migration

Switching from Synapse to Dendrite was always inevitable. I had dragged my feet on it largely due to an if it ain’t broke, don’t fix it mentality. The challenge was that eventually it did break. Somewhere between Synapse 1.8 and 1.9 I was unable to update without getting DB errors. I had tried a query based off someone having similar issues, but when the issue reappeared, it was for a different relation in the synapse db. This was when I decided to throw the towel and start fresh. Up until this time, my matrix instance has really only been for me and immediate family, and this was bound to happen because at the time of writing, you can’t migrate to dendrite and keep your messages.

Object storage

Difficulties in changing providers

May 10 2023

Fixed! (Update)

I was wrong! if you migrate your videos with rclone you can seamlessly update the video location on PeerTube by changing the base_url parameter in your production.yaml file.

For misskey I’ve opened an issue for it

  streaming_playlists:
    bucket_name: 'streaming-playlists'

    # Allows setting all buckets to the same value but with a different prefix
    prefix: '' # Example: 'streaming-playlists:'

    # Base url for object URL generation, scheme and host will be replaced by this URL
    # Useful when you want to use a CDN/external proxy
    base_url: '' # Example: 'https://mirror.example.com' # CHANGE THIS

  # Same settings but for webtorrent videos
  videos:
    bucket_name: 'videos'
    prefix: ''
    base_url: '' #and this too!

Object storage Troubles

I’ve spent some time experimenting with S3 / Object Storage for public content.
I’ve found it useful for things like fediverse attachments & PeerTube videos.

Some updates

PeerTube tweaks and Kuma

Mar 30 2023

Couple of updates

Contents

  1. PeerTube S3 Uploads
  2. Kuma

Troubleshooting PeerTube S3 uploads

In the interest of being cost-efficient I’ve setup my PeerTube to use object storage to store and serve the videos.

Steps

  1. Configure PeerTube
  2. Upload videos
  3. Configure CORS

1. Configure PeerTube

Ensure you’ve got PeerTube setup.
From your peertube directory (or docker volume) you’ll want to update your config/local-production.json / config/localproduction.yaml file.

NOTE:At the time of writing, Updating your server configuration from the management console will ERASE your settings. This means you’ll want to make sure to back up your settings so you can copy over your changes when needed.

Pi-Server no more

Mar 07 2023

Goodbye Pi-Server, it was a good run.

I’ve moved many of my self-hosted services away from the pi-server to a proper deskstop. The primary motivation was to get more CPU for PeerTube hosted at peertube.libresolutions.network

I’ve also setup Forgejo at code.gabe.rocks.

Thanks to a helpful tip from RetroEdgeTech:

The programmer can now access the machine behind the firewall by connecting to a different machine on the internet at a specific port that forwards ssh to the machine behind the firewall. This command has to be run from the internal network, or in this case the machine we want to grant access to from the outside.

Prev B @ Next