Continuing work on YunoHost-based site.
Got ResourceSpace working. Tested it with the music library, but that didn’t go so well. The S3 object storage backend doesn’t seem to work, so I abandoned that. StaticSync does work, though.
Got PeerTube successfully working, with the S3 backend, and it works amazingly well! Smooth playback! This makes it seem like relying on PeerTube might be possible, though I plan to keep my Vimeo account until I’m much more sure!
Got Gitea working well. Created an Ansible role for configuring and customizing it, again using the S3 backend for LFS storage.
Fixed the problems with the llgal program by adding a script to rename the thumbnail and CSS directories.
Tested the Git-to-ResourceSpace synchronization system, and media files, using a test repository.
Planning the final roll-out sequence for putting the site up, but didn’t quite get it done before the end of the month.
Helped Ariel install a waterblock cooler on her computer. First time I’ve tried to set one of these up.
MARKETING & PROMOTION:
Mastodon (and my account on the mastodon.art instance) is working out really well for promotion. I continue to get much better responses from posting there, and a number of people seem interested.
I’ve also discovered additional open-movie projects and lots of people with skills I could probably use on the project in the future. So I think it’s very promising.
I’m settling into useful posting habits, and increasingly disinterested in Facebook and Twitter, though there are still people on FB I don’t want to lose touch with by giving it up.
Nevertheless, I’ve found a Firefox extension to delete old posts on FB, and I’m slowly working my way through from 2009.
HOME & MAINTENANCE:
Got the Blue Prius inspected and registered. The Red Prius is working well, and we got the combination meter replaced.
Bought new cat carriers. I need to take the cats to the vet for annual shots and deworming, but I didn’t get to it before the end of the month.
Filed personal tax return, well before the deadline.
Failed plumbing on one of the E-run spigots.
April is Here Already?!
This has seemed like both a very long and a very short month for me. I’ve been working through a lot of technical details (SO MANY DETAILS!), and yet with the new project site not being up yet, I wasn’t really ready for March to end!
I am working on the “real” server now, rather than the experimental one. So far, I have already managed to create an Ansible playbook to do the basic YunoHost installation, along with other basic pre-installation steps, like setting up the S3 filesystem repo.
All of this basic stuff works (and I added a option to turn off the certificate process for testing to avoid hitting the rate limits on “Let’s Encrypt” while testing my Ansible deployment scripts).
I’ve also created basic stubs for several of the static webpages, such as https://books.anansi.space.
Currently, I’m working on the Ansible role for installing ResourceSpace, based on my previous test installation, although this time I’m going to be adding a plugin for direct S3 storage and configuring “StaticSync” so it will (hopefully) start automatically cataloguing the already-uploaded soundtrack music library and other filesystem repository content.
I’ve decided that doing the whole installation with Ansible, while possible, is probably not practical. It’ll be easier to do certain parts of the process through the web interfaces, and just document the process in my notes (and screencast logs).
Overview of Site
The main new features of the site will be:
The transition to using Git/Gitea for both production and software source control. I will be migrating my projects off of GitHub and to my local Gitea.
The upgraded and better-configured ResourceSpace site, which will hopefully become a lot more useful.
A PeerTube server, mainly for behind-the-scenes videos. I will also release episodes here, although I fear there may be performance issues, so I’ll also be releasing them on Vimeo.
I will also be installing software to post Production Log updates to the Fediverse (using the ActivityPub plugin for WordPress), and I’ll be creating a Misskey Fediverse instance of my own, with a brand account for Lunatics there. I likely will keep my existing personal account on mastodon.art for the present.
The Production Log will still be using WordPress, though it’ll be an upgraded site with a new theme, and more emphasis on the blog posts, since we don’t really need the video carousel on the project site anymore, with the release page up.
There will also be a variety of “groupware” features, ranging from a file dropbox to a video conferencing server.
After I’ve gotten up to speed with all of these tools, I hope I’ll be able to open the project back up to more collaborators, and actually realize the “open movie” production process I was hoping for.
Spring Fever and the Apocalypse
Of course, the world is doing its very best to be distracting right now, between plague and war and the usual chaos of social media politics. I don’t want to make light of that, but on the other hand, there’s very little I can do about it. And I’ve honestly got a little bit of Spring Fever going on, as the weather is getting nicer.
But even so, I’m trying to stay focused, and I should have this site up in few days now.
Resource Space / Static Sync Installation
I’ve managed to get ResourceSpace working, along with the “StaticSync” ingest script.
This is a PHP script which runs in the background to scan and load resources from the filesystem. I was planning to write a Python script to do this through the remote API interface of ResourceSpace, but it turns out that ResourceSpace comes with a script for this purpose.
It’s clear that I have a lot of work to do if I want to make it properly load metadata and sort the files out correctly. The example above doesn’t show the artist or album names being properly processed, for example. Nor does it have a player for the MP3 file, instead giving a preview image based on the embedded album cover image.
However, for a first attempt, it isn’t really that bad.
A Slight Change of Plan
Installing ResourceSpace on the YunoHost server was pretty easy. Getting it to actually do what I want… not so much.
I had, it seems, somewhat inflated what it was capable of, in my mind. Or rather, what it would do “out of the box”. I really thought I had remembered that it had simple HTML5 audio/video previews, but it does not seem to do that. There does not seem to be a plugin for it (or I haven’t found one).
And this unfortunately makes it a lot less useful for tasks like indexing my free-licensed soundtrack music library.
Neither of which is my happy place.
It is definitely possible to make this work. But is it worth putting that effort into it? Would I be better off to put the same amount of effort into getting TACTIC to work for me (at least that work would be in Python, which I do know)? And moreover, is it important that I do it now?
I’ve decided the answer is probably “no”. I wanted to be done with this rollout work and back into production before April, and it’s April 10th, now.
It is much more important to get Gitea, PeerTube, and WordPress configured and working. So, I’m making the decision to just leave ResourceSpace relatively undeveloped for now, and concentrate on the critical applications.
Even so, I think I might realistically need the rest of this month to get the site working.
So I guess that’s what’s going to happen. I just hope I can get back into production in May.
The music-library thing is obviously just going to have to wait until I have time to work on it.
Testing my PeerTube instance
After much struggle with configuration settings, I think I have a working PeerTube instance. So naturally, I want to test how embedding works on other platforms!
This did not work on Patreon! This is the video I attempted to post:
This is the promotional video for “Open Movie Edition DVDs” that I made awhile back. I’ve been using it for testing, because it’s long enough (just under 3 min) to turn up streaming problems, without being huge.
The video itself is being served from an Amazon S3 object storage bucket, while the PeerTube site is hosted on my VPS at Digital Ocean. With this configuration, I seem to be getting smooth streaming, so that’s good!
My plan is to move nearly all of my behind-the-scenes content to PeerTube, with releases on PeerTube and Vimeo and possibly YouTube or other sites (although dealing with erroneous content-ID and other headaches on YouTube makes me question whether it’s worth it — I haven’t made much use of YouTube in years, but it is still much better for discovery).
I’m still working on testing and final configuration of Gitea: I still don’t know whether my LFS object storage configuration is working or not. I plan to create a small repo with a variety of different filetypes to test how it handles it — and then to use it further to do a better-controlled test of ResourceSpace with StaticSync.
Testing Gitea and Git-LFS
I created a test repository full of multimedia files of various types, along with a “.gitattributes” file that tells Git to store most of these files in the Git-LFS storage.
I’ve also configured Gitea to put LFS data into an S3 bucket, so that these files aren’t taking up space on the VPS.
I had to do some troubleshooting to fix cloning and other Git operations from Gitea. It runs its own internal HTTPS and SSH servers, which have to be configured separately from the NGINX web server that the UI is served through.
All of that is working now. Which allowed me to push the test repo onto the server:
After that, I tested cloning the Git data to a folder on the S3FS filesystem I have attached to the server. This is S3 object storage masquerading as a filesystem. It is not fully POSIX compliant, but it works for a lot of use-cases, and I needed to make sure it would work in this case.
And it does!
This means I can transfer a copy of the production repositories into S3FS storage which appears like a filesystem on the server.
With that, I can then run StaticSync to ingest the files into the ResourceSpace DAMS.
This should allow me to have an archive site for the project assets: Blender files, Audacity projects, images, sound-recordings, and so on. You can think of it as being like a private “BlendSwap” or “TurboSquid” (or “Flickr”, “Soundcloud”, etc). It will be searchable and have previews available for many filetypes.
As I mentioned before, I was somewhat disappointed with how ResourceSpace handles sound files, but it does pretty well with images and 3D models.
Naturally, the production team would work directly with the files in Gitea, but this arrangement will make project files available to a much larger audience.
Git Newbie Issues
I am still very much a newbie with Git, but it looks like I can make this work by simply writing a short Bash script to run a ‘git pull’ and then run ‘StaticSync’, thus synchronizing the ResourceSpace repo with the Gitea repo (or the ones I choose to do this with), and then running that script from a cron job (daily or weekly, probably — the DAMS doesn’t really need to be up-to-the-minute with the source tree).
Another option — more efficient, though slightly more complicated to set up — would be to trigger the script using a webhook from Gitea. I’ll probably look into that as an upgrade.
Some reading online suggests I might want to refine that in the future, by limiting the pull to “fast forward merges”, but I honestly don’t understand what that means, yet. One commenter suggested this would avoid saving extra merge history in the mirrored repo (which would be good if it reduces rewriting to S3-backed files in S3FS, since that’s inefficient and runs up usage charges). That sounds like a good thing, to my naive understanding.
PeerTube for Audio Library?
Another interesting test: I tried uploading audio files to my PeerTube instance, and it does a much better job with them than ResourceSpace did. I might consider writing a script to use the API to publish the music to a PeerTube channel, rather than (or in addition to) ingesting them into ResourceSpace. That might be a “later” task, though, as I’m anxious to get the site up soon.