2025:Q1 Agenda πŸ“†

I would like to begin setting objectives and tracking progress for this platform on a quarterly basis using Discourse threads. As a starting point, I will simply create a post at the beginning of each quarter outlining objectives. At the end of the quarter, a reflection will be posted to the same thread. These will largely be based on the projects and milestones on Gitea, and their composition can be hosted on Owncast. Given Q1 is almost over, this will not be fully implemented until Q2; however, I still have the opportunity to plan, host, and post this quarter’s reflection.

This reflection focuses mostly on my YouTube statistics, as my audience is predominantly on that platform. From the perspective of managing a YouTube channel, I think my latest content has been consistent, but unfocused, less clear, and less suited for growing a YouTube channel (though that is not necessarily my intention).

Overall, I am happy with what has been accomplished over the past few months:

  • The Kubernetes cluster was made production-ready
  • Initial services were deployed, including Discourse, Gitea, and Owncast
  • A regular schedule for live streaming was established and maintained
  • A workflow for uploading the recorded streams to MinIO, Discourse, and YouTube was established

Community feedback on the recent direction of the YouTube channel and this platform as a whole would be greatly appreciated!

Each live stream hosted during this quarter was posted to its own thread. I have decided to try posting them as replies into a single, quarterly thread instead. As such, those original posts have been deleted (there were no replies), and their contents have been copied below:

Self-hosted services on QEMU and Kubernetes

Live stream hosted on 2025-01-25 with Owncast at 16:01:21

Demo of a network of self-hosted services on a Kubernetes cluster virtualized with QEMU using Ansible playbooks.

  • OpenLDAP
  • phpLDAPadmin
  • Owncast
  • Gitea
  • Nextcloud
  • MinIO
  • Grafana
  • Matrix
  • Element
  • Synapse

Discourse, Fediverse, and the Kraken API

Streamed live on 2025-02-01 with Owncast at 16:16:23 EST

Chapters

00:00 - 07:22 Intro
07:22 -13:39 The Fediverse
13:39 - 20:59 Projects and Milestones in Gitea/GitHub
20:59 - 32:51 Algorithmic Cryptocurrency Trading on Kraken API

Additional links

https://joinfediverse.wiki/Fediverse

https://pro.kraken.com/

Platform monetization and a Matrix client for Python

Live stream hosted on 2025-02-08 with Owncast at 16:00 EST.

Topics

Discourse

  • Live stream posts on Discourse
  • Discourse+MinIO for video hosting
    • OBS video formats
    • Potential for other media formats
  • Fediverse actors on Discourse
    • Based on OpenLDAP
  • Google AdSense on Discourse
  • Medusa for complex applications

Paper

  • Live streams are quick and casual, paper will be more formalized
  • Show LibreOffice document and Nextcloud integration
  • Content outline

Kraken bot

  • Evaluate progress on Gitea projects/milestones
  • Explain the algorithm in MyStrategy.py
  • Explain and demo Matrix logging

Chapters

  • 0:00 Discourse
  • 12:04 Medusa
  • 17:00 LibreOffice
  • 22:23 Kraken

Open-source audio recording and broadcasting

Live stream hosted on 2025-03-01 at 16:00 EST with Owncast

Chapters

0:00 Intro
1:27 Kraken bot update
8:14 Audio on Linux
14:51 ZynAddSubFX
17:49 Guitarix
21:10 Ardour
27:36 Output formats

Topics

  • Kraken bot update
  • Audio on Linux
    • Jack vs ALSA
  • QJackCtl
    • Graph interface
    • Connecting QJackCtl to OBS
  • ZynAddSubFX
  • Guitarix
  • Ardour
    • Output formats
    • Publishing audio to MinIO
  • Music streaming schedule

Matrix chat, Python logging, and Gitea actions

Live stream hosted on 2025-02-15 at 16:00EST with Owncast

Topics

Matrix

  • Shoutout pdp72
    • Gives utility to the services
    • Feedback loop from viewers
    • Self-hosting and federation
    • Potential for impersonation
  • MatrixError 502
    • Show error in Element
    • Synapse Helm chart
    • Synapse logs
    • Search results for the error
    • Gitea issue

Kraken bot

  • Demo Matrix logger

Gitea Actions

  • Gitea actions Docker build
    • What is Gitea Actions?
      • Show in Kubernetes
    • Walk through GitHub build-and-push example
    • Gitea act runner errors and experiments
      • Act runner labels
      • Building Docker containers

Project planning

  • Kraken bot deployment plan
    • Update projects and milestones
  • Request for feedback

Chapters

0:00 Matrix
15:00 Kraken bot
27:22 Gitea actions
45:44 Project planning

Building and deploying a Docker container to Kubernetes

Live stream hosted on 2025-02-22 at 16:00 EST with Owncast

Chapters

0:00 Docker build
14:41 Docker push
16:26 Ansible
23:37 Kubernetes

Topics

  • Docker
    • Defining containers with Dockerfile
    • Building containers
    • Push containers to DockerHub
  • Ansible
    • Ansible role for Kraken bot
    • Git submodules
  • Kubernetes
    • CronJob
      • Pull policy (Always)
    • Deploy
  • Monitoring
    • Kraken Pro dashboard
    • Matrix
    • Grafana

Scheduled GPUs on Kubernetes

Live stream hosted 2025-03-08 at 16:40 EST on Owncast

https://wiki.debian.org/VGAPassthrough
https://wiki.debian.org/NvidiaGraphicsDrivers

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

Chapters

0:00 Intro
6:55 VFIO
15:10 Kubernetes
30:47 Resource requests

Topics

  • RTX A6000 vs Tesla T4
    • History on Gitea
    • Should be using discussions on Discourse
  • GPU passthrough
    • VFIO on Debian
    • Virt Manager hardware
    • NVIDIA drivers on guest
      • Ansible automation
  • Scheduled GPU
    • NVIDIA container toolkit
      • Containerd configuration
    • NVIDIA Device Plugins
    • NVIDIA GPU Operator
  • Taints and tolerances
  • Requesting a service
  • Disk pressure issue

LocalAI on Kubernetes

Live stream hosted on 2025-03-15 at 16:00EST with Owncast

Chapters

0:00 Intro
7:06 LocalAI on K8s
21:03 Content pipelines

Topics

  • Audio issues from last stream
  • NVIDIA RTX A6000 update
  • LocalAI on Kubernetes
    • Content pipelines
  • Upcoming stream schedule