There’s a whole bunch of “it loses all your data” bugs in OpenZFS too, ironically, although it’s way way less fragile than btrfs in general.
That said, the latter is pretty much solid too, unless you do raid5-like things.
FWIW that java app isn’t much memory hungry and it's not cpu-intensive at all. There are no issues with running java apps at all if you spend 5 minutes figuring the basix flags on how to set the memory limits or run it in a memory-limited cgroup via some containers runtime.
I run k3s in my homelab as a single node cluster. I’m very familiar with kubernetes in general, so it's just easier for me to reason with a control plane.
Some of the benefits I find useful:
- ArgoCD set to fire and forget will automatically update software versions as they happen. I use nix to lower the burden of maintaining my chart forks. Sometimes they break, but
- VictoriaMetrics easily collects all the metrics from everything in the cluster with very little manual tinkering, so I am notified when things break, and
- zfs-localpv provides in-cluster management for data snapshots, so when things do break I can easily roll back to a known good state.
k3s is, of course, a memory hog, I'd estimate it and cilium (my CNS of choice) eat up about 2Gb ram and a bit under one core. It's something you can tune to some extent, though. But then, I can easily do pod routing via VPN and create services that will automatically get a public IP from my endless IPv6 pool and get that address assigned a DNS name in like 10 lines of Yaml.
IIRC they demonstrated an interaction with Siri where it asks the user for consent before enriching the data through chatgpt. So yeah, that seems to mean your data is sent out (if you consent).
So here's the thing. This year I fell in love wih clojure, it's an absolute pleasure to program in. It's also a hosted language that runs on java (primarily) or javascript (or a bunch of marginalized things). And honestly, I feel like I can make the java backend run more resource-effecient than the JS one.
That's exactly my point, though.
It absolutely does. Think of lemmy like of email – your mail server has all the email you received.
Looking at the resource usage of mine, a tiny cheap VPS for $4/mo would be enough, sans the image store. But it's not a hard requirement unless you expect to have lots of local communities posting pictures.
Lemmy's issue is that it's non-trivial to deploy and oftentimes painful to upgrade.
VictoriaMetrics is a fantastic alternative to prometheus, especially in a home lab where resources are constrained. It’s several times more efficient with its RAM usage while being pretty much fully PromQL compatible (with a few nice extras, too). One of the nice features of VM are retention filters...
I finally got to cleaning up the metrics in my homelab and researched the means to separate my long-term and short-term data. This way you can scrape all kinds of noisy sources (e.g. kubernetes) while having a separate store for things you want to observe on longer time windows (months and years). The best thing? It's transparent for grafana and the like, so you can keep all your dashboards intact.
SLACC doesn't support sending stuff like DNS servers.
If you drop the projector, then airpods already do it better when paired with the watch. There's no point in such a device at all, then.
Is there anything interesting at all reported in /proc/spl/kstat/zfs/dbgmsg?
I did ran out of pcie, yeah :-( the network peaks at about 26gbit/s, which is the most you can squeeze out of pcie 3.0 x4. I could move the nvmes off the pcie 4.0 x16 (I have two m2 slots on the motherboard itself), but I planned to expand the nvme storage to 4x SSDs and I’m out of the pci lanes on the other end of the fiber either way (that box has all x16 going to the gpu)
I run 3900X with a 40Gbit fiber, packed with HDDs and nvmes. The box fluctuates around 90-110W use.
when you said that Nextcloud might not meet your needs, was your concern specifically the server-side data format?
I'd prefer them as plain files. Technically it doesn’t matter much to me if it's a database, if I have to spin up an S3-compatible API, or if I need to slice up a zvol for it, but I just prefer the files because then I can do zfs snapshots (in which I trust) and backup with restic (in which I trust)
That gives me hope, thanks. I’ll try it, then.
Lots of files. I'd offload old projects that I worked on with synology drive so they aren’t stored locally, only remotely (but are easily accessible).
I moved off a Synology NAS to a self-managed machine and one thing I still struggle to replace is something like a synology drive. Here are my requirements:
- server side store data in a plain FS (I want transparency)
- client side (windows), it must support VFS (download files when needed, support offloading of large files)
- having snapshots of data is a must
I have a 40gbit uplink to my desktop, so if everything else fails I’ll just use samba with zfs snapshots exposed to VSS, but we’re talking some large files still (think several hundreds of MBs) and I’m not sure Blender will be happy working off a network disk.
I’ve been pointed to next/own-cloud previously, but they don’t seem to cover my use case, I think. Should I actually try one of those? I browsed around owncloud's storage bit (which is written in go), and it seems mostly fitting, but I’ve been told I should steer away from ownCloud towards nextCloud.
It was my first introduction to the type-length-value concept over the network, seemed radically different from the text only IRC protocol that I knew back then. I remember how fun it was to write an elegant parser for the ICQ messaging, and how I ended up on somewhat a DOM model where I converted the on-wire format into series of nested objects. Not the most efficient idea, but it was neat.
Or just slap a GPL and subsume everything within a vortex of FREEDOM, and thusly become a true FOSS dude
Yeah, no. I suppose this is sarcasm, but just in case: not every license is compatible with GPL, GPL has a few versions, and not everything is GPL-3-and-above.
Personally, I prefer Apache-2.0. It just seems more fair.
Fediverse generally runs on ActivityPub, which uses HTTP as a transport, so you’ll be good. The problem is that the clients don’t talk to fediverse, it's more of a server-to-sever protocol; you'd look into the specific server APIs. But you’re good there, too - all the big fediverse players use RESTful HTTP for their client-facing API.
Your requirements sound a lot like Chrome Remote Desktop and it's pretty trivial to install, which might be a handy thing for family members that aren’t tech-savvy.
I’m reading the ActivityPub spec here and it seems pretty fit for client-to-server communications. Yeah, it might be somewhat bulkier than your typical rest api, but it's more universal, which begs the question: why do mastodon and lemmy both decided to implement custom (and incompatible) APIs for their clients to talk to the servers? Wouldn’t it be more straightforward if e.g. my voyager app talked ActivityPub to lemmy.world which then talked ActivityPub to lemmy.ml or something.
What am I missing?
I wasn't sure how to find the communities I'm interested in, so I quickly hacked together a scraper that makes a list of all the communities(1) of all the servers mine is federating to(2).
You can find it (with a very trivial UI) at directory.fstab.sh. Hover over the link to see the description. Use the search bar to search by text.
Is this something useful or there was a better way to do the same?
- (1) it does its best to scrape them all but incidents might happen
- (2) updated nightly