Another month of IT work on the new virtual studio project website. This month was focus on migration to Git/Gitea, with a particular emphasis on getting production “blob” data moved into LFS storage, rather than the regular Git repos.
Most of this month was spent on pruning unwanted data from the new Git repos, using the “git-filter-repo” tool.
I then used the “git-migrate” tool to retroactively move most of the production “blob” data into LFS storage, rather than the Git repo proper.
Gitea has built-in support for putting binary blobs into S3/Minio object storage, which is very helpful. However, actually getting it to work required a number of configuration setting changes in both Gitea and NGINX. I have not yet documented these change, though they are mentioned in my worklog notes.
I also had to deal with the physical problem of moving gigabytes of data up to the server, for which I took advantage of my parent’s faster and unlimited fiber connection in Fort Worth.
I also did some work on the ResourceSpace schema, in preparation for setting up folder-based sync with StaticSync (but I decided to table the actual StaticSync setup, in order to get back to doing production work sooner).
Setup the Activity Pub plugin in WordPress. Learning to use the new upgraded site better, but the “Gutenberg” layout engine is terrible. I installed a plugin to restore the previous editor.
Shopped for new commponents for Nicholas’ computer, Monolith.
The large Philips monitor’s lines problem has gotten worse, and I have taken it out of commission. Unfortunately, I also managed to crack the screen, so I’m not sure I will be able to get a warranty repair on it, now.
Starting to work on the 2022 monthly worklog summaries. Caught up to March.
As it is already Summer, I started working on mowing, though I was limited to using the weed trimmer, since the mower has a bent blade that I haven’t been able to fix yet.
Migrated VCS to Git/Gitea
This is really the critical step for the new “virtual studio” website, overcoming the barrier to me doing more production work. I have migrated the source data for the Library and episodes 1-3 into Git, cleaned up the repositories, converted to Git-LFS storage (so that the large files are being stored efficiently), and migrated it all onto our Film Freedom Gitea Server.
I have also created stubs for episodes 4-9, though I still need to do some cleanup on episode 4 (which has some audio production work completed, since it was the basis for the audiodrama we released).
Of course, this is an on-going project that will never really be “done”, but the critical steps necessary to start using it have been completed.
Completion of the 2022 “Virtual Studio” Project
Since it is approaching the end of June, I’ve decided that this is probably where I will finish up the grand IT “Virtual Studio” project for this year, and get back to working on production.
That will leave the ResourceSpace server in a not entirely satisfactory place, but I think I’ll be content to put in a little work on that as I go.
There are a number of other facilities I installed, which I intend to use on an experimental basis: I have a LibreERP (Odoo) instance, NextCloud with Collabora (LibreOffice for the web), a to-do planner called Vikunja, as well as Galene (videoconferencing) and Mumble (voice chat) servers installed. I will probably try to spend a few days each month testing these different facilities.
The main platform elements though (to recap prior posts) will be:
WordPress at https://lunaticsproject.org
This will be the home of the Production Log, additional project documentation, and overall CMS structure for the Virtual Studio site.
This will provide the hosting for the Production repositories. I will be checking in my software projects into a separate “Film Freedom” organization on the same Gitea server.
This will become my primary publishing point for videos, although I intend to cross-post most videos to Vimeo for the near future.
Misskey at https://m.filmfreedom.net/@LunaticsTV
This will be the project’s official brand account on the Fediverse. Of course, I do also have a personal account on Mastodon.Art, but this one will have official project posts and avoid general political topics. I’ll “renote” posts from my personal account, other project contributors (when there are some) and the WordPress ActivityPub server (which generates a post for each WordPress post).
For the time-being, I have decided to continue using the production log mostly for summaries of my posts here on Patreon each month, though I may consider changing that pattern to rely more heavily on the self-hosted platform. There is of course, the Patreon plugin for WordPress, which I could use, but I have some mixed feelings about it. Ideally, I would create a membership on the WordPress site that included Patreon patrons, project contributors, and supporters on other platforms (such as our Gumroad account).
All of this will give me information I’ll use to revisit the Virtual Studio design next February as part of my annual review.
Early Impressions of Git/Gitea
I found the learning curve for Git and Gitea to be extremely steep so far, but I think I may be over the hump, as I’m beginning to understand what I’m doing with it.
Once I revise my notes, I’ll prepare an article documenting the process I needed to go through for this migration, with particular attention to LFS and the challenges of working with a repository containing so many large files (and individual files larger than most tutorials even for LFS assume you are working with).
In particular, I needed to make NGINX and Git-LFS configuration changes to avoid network timeouts during Git operations.
Gitea is very nice to work with as a user, though, and I think this will be a big improvement. It’s obviously going to be an improvement over a Trac site with a self-signed certificate, which most browsers complain about.
This was a major driver for creating the new site in the first place: my goal here is to make the project friendlier to contributors, so that I can transition back to having a team working on episodes 2 & 3, after releasing episode 1. Recruiting for that will be a whole new project for me. I wonder if it will be easier or harder than it was the first time around?