

That’s basically me. If someone dragged me to a race, I’d be trying to find a way to watch the pit crew in action cause I wouldn’t give a crap about the actual race haha.
I’m surprisingly level-headed for being a walking knot of anxiety.
Ask me anything.
Special skills include: Knowing all the “na na na nah nah nah na” parts of the Three’s Company theme.
I also develop Tesseract UI for Lemmy/Sublinks
Avatar by @SatyrSack@feddit.org


That’s basically me. If someone dragged me to a race, I’d be trying to find a way to watch the pit crew in action cause I wouldn’t give a crap about the actual race haha.


That’s probably the next wheel some overzealous Rust dev will reinvent.
Lol, exactly that.
It’s not really about the karma-farming aspect of things or pleasing a crowd. It’s about, in general, making a statement that’s otherwise agreeable and then, often pointlessly, following it up with something backhanded, needlessly obnoxious, mean spirited, racist/xenophobic, or otherwise “not good”. You know, basic tactfulness.
A fairly tame example:

“Write out what you have to say, and then delete the last sentence” is also a valid translation and solid advice when corresponding over a written medium.
I’ve read lots of comments here and elsewhere where a downvote would have been an upvote had they stopped talking one sentence earlier.


I also run (well, ran) a local registry. It ended up being more trouble than it was worth.
Would you have to docker load them all when rebuilding a host?
Only if you want to ensure you bring the replacement stack back up with the exact same version of everything or need to bring it up while you’re offline. I’m bad about using the :latest tag so this is my way of version-controlling. I’ve had things break (cough Authelia cough) when I moved it to another server and it pulled a newer image that had breaking config changes.
For me, it’s about having everything I need on hand in order to quickly move a service or restore it from a backup. It also depends on what your needs are and the challenges you are trying to overcome. i.e. When I started doing this style of deployment, I had slow, unreliable, ad heavily data-capped internet. Even if my connection was up, pulling a bunch of images was time consuming and ate away at my measly satellite internet data cap. Having the ability to rebuild stuff offline was a hard requirement when I started doing things this way. That’s now no longer a limitation, but I like the way this works so have stuck with it.
Everything a service (or stack of services) needs is all in my deploy directory which looks like this:
/apps/{app_name}/
docker-compose.yml
.env
build/
Dockerfile
{build assets}
data/
{app_name}
{app2_name} # If there are multiple applications in the stack
...
conf/ # If separate from the app data
{app_name}
{app2_name}
...
images/
{app_name}-{tag}-{arch}.tar.gz
{app2_name}-{tag}-{arch}.tar.gz
When I run backups, I tar.gz the whole base {app_name} folder which includes the deploy file, data, config, and dumps of its services images and pipe that over SSH to my backup server (rsync also works for this). The only ones I do differently are ones with in-stack databases that need a consistent snapshot.
When I pull new images to update the stack, I move the old images and docker save the now current ones. The old images get deleted after the update is considered successful (so usually within 3-5 days).
A local registry would work, but you would have to re-tag all of the pre-made images to your registry (e.g. docker tag library/nginx docker.example.com/nginx) in order to push them to it. That makes updates more involved and was a frequent cause of me running 2+ year old versions of some images.
Plus, you’d need the registry server and any infrastructure it needs such as DNS, file server, reverse proxy, etc before you could bootstrap anything else. Or if you’re deploying your stack to a different environment outside your own, then your registry server might not be available.
Bottom line is I am a big fan of using Docker to make my complex stacks easy to port around, backup, and restore. There’s many ways to do that, but this is what works best for me.


Lol, yeah. That’s how my friend tries to get me into Formula 1, and I can definitely see and respect it from that angle. I just can’t get past the resources wasted to make a spectacle out of it. I’m just a curmudgeon like that haha.
Those arguments go away with Formula-E but I just haven’t dove into it


Not gonna lie: I’ve always thought drag racing was a massively pointless waste of resources and this further cements that opinion as I didn’t know they rebuilt the engine after each run.
That said, I did enjoy this video because the mechanics/pit crew are the real stars of the show and I’d totally watch a Discovery channel series about them.


Yep. I’ve got a bunch of apps that work offline, so I back up the currently deployed version of the image in case of hardware or other failure that requires me to re-deploy it. I also have quite a few custom-built images that take a while to build, so having a backup of the built image is convenient.
I structure my Docker-based apps into dedicated folders with all of their config and data directories inside a main container directory so everything is kept together. I also make an images directory which holds backup dumps of the images for the stack.
docker save {image}:{tag} | gzip -9 > ./images/{image}-{tag}-{arch}.tar.gzdocker load < ./images/{image}-{tag}-{arch}.tar.gzIt will backup/restore with the image and tag used during the save step. The load step will accept a gzipped tar so you don’t even need to decompress it first. My older stuff doesn’t have the architecture in the filename but I’ve started adding that lately now that I have a mix of amd64 and arm64.
I mean, A+ for the dated 90s country music reference alone. Respect.
I saw “toast sandwich” on QI and, yes, I tried it. Added butter, salt, and pepper to the toast.
Was pretty good.


Look at the Nokia 2780, Nokia 110, and/or the Nokia 3210.
They’re modern equivalents to their predecessors of yore and run a simple non-smartphone OS (Kai OS) and use VoLTE so are compatible with modern networks. Bonus is they can do things like hotspot.
I was looking at those and similar about a year and a half ago when I wanted to switch to a dumb phone. I ended up compromising with the CAT S22 Flip which is a low-end Android phone in a flip phone form factor. Wasn’t difficult to de-Google and was able to root it. Unfortunately, they’re not made anymore so what’s left is what’s left. They’ve also jumped quite a bit in price since I got mine for $69.99 back in 2024.


Ah, lol. Weirdly, I warmed the proxy and it worked for me (so should have worked for everyone after). Should be fixed.
Basically the only thing you want to present with a challenge is the paths/virtual hosts for the web frontends.
Anything
/api/v3/is client-to-server API (i.e. how your client talk to your instance) and needs to be obstruction-free. Otherwise, clients/apps won’t be able to use the API. Same for/pictrssince that proxies through Lemmy and is a de-facto API endpoint (even though it’s a separate component).Federation traffic also needs to be exempt, but it’s not based on routes but by the HTTP
Acceptrequest header and request method.Looking at the Nginx proxy config, there’s this mapping which tells Nginx how to route inbound requests:
nginx_internal.conf: https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/nginx_internal.conf