home.social

#home-lab — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #home-lab, aggregated by home.social.

fetched live
  1. So the next step is now looking at the Prometheus and TSDB code to see whether I can reasonably easily write a tool which tells me from a block on disk which metrics use the largest amount of storage. From reading the TSDB architecture notes it sounds possible, but sadly the TSDB golang package doesn't have any direct way to get at something like "size of metric in block on disk". And it doesn't look like anybody has done this before.

    3/3

    #HomeLab #Prometheus

  2. There's even a solution for the issue merged into Prometheus: github.com/prometheus/prometheus/pull/14477

    It's hidden behind a feature flag though. And that's a problem, because I'm actually using Thanos to store my large amount of metrics. And while that does implement PromQL, it doesn't implement all the experimental features. Including this one. 🫤

    2/x

    #HomeLab #Prometheus

  3. I had tried to get a table with all of the metrics sorted by ingest rate, with a query looking like this:

    topk(10, count_over_time({__name__!=""}[1m]))

    But sadly, that didn't work. Threw a "vector cannot contain metrics with the same labelset" error. There's even an issue about that exact thing: github.com/prometheus/promethe

    1/x

    #HomeLab #Prometheus

  4. All of the dropped metrics had around 10k cardinality, due to having labels for every Kubernetes manifest kind, both core and CRD, a hell of a lot of buckets and every HTTP method. Cut my per-minute ingest rate by about 26%.

    It remains to be seen how large the impact on the on-disk size is. Now have to wait for the next full 2 day block after the change to compare to the block I fetched on Sunday.

    2/3

    #HomeLab #Prometheus

  5. The first metrics reduction already had quite some impact. I've removed a number of *_request_duration_seconds_bucket metrics from the k8s apiserver scrapes. The metrics shown is:

    rate(prometheus_tsdb_head_samples_appended_total{}[$__rate_interval])*60

    1/x

    #HomeLab #Prometheus

  6. Authelia v4.39.23 patches a solid batch of bugs including OIDC client auth fixes, password reset form recovery, and WebAuthn error handling. A nice stability release for your auth stack.

    github.com/authelia/authelia/r

  7. Syncthing 2.1 brings folder and device grouping, HTTP/HTTPS proxy support, configurable GUI session duration, and optional block indexing for leaner databases. A solid quality of life upgrade.

    github.com/syncthing/syncthing

  8. Of all the services I've run via my vps, my maloja instance for music scrobbling is the only one that has gotten absolutely clobbered by scraping bots.

    Which is weird to me. I'm struggling to understand the point. My personal stats aren't especially interesting or useful, and the assets used on the page all come from another (publicly available) database like musicbrainz that, I assume, would be much easier to query directly.

    I just pulled it down because I don't want to bother figuring out a fix at this exact moment and it was making everything else slow or inaccessible. Need to do more reading to figure out best practices in filtering out those attacks.

    #maloja #selfhosting #homelab

  9. Obsidian LiveSync 1.0.27 fixes a frustrating first-time setup bug with custom HTTP handlers and object storage like Cloudflare R2. Sync should now just work out of the box.

    github.com/vrtmrz/obsidian-liv

  10. Radxa says ROCK 5 ITX board I returned can't be repaired, and will be scrapped. They're refunding me, but I was counting on having two of them.

    Anyone have a ROCK 5 ITX or ROCK 5 ITX+ they'd be willing to sell me for non-scalper prices?

    Would also be happy to buy an Orion O6.

    #embedded #embeddedsystems #linux #homelab

  11. When your home ISP dies, your lab shouldn't. Here is how to set up 5G failover on ZimaBoard with Tailscale VPN and Kasm browser isolation. #HomeLab #Tailscale #Networking

    valtersit.com/bulletproof-home

  12. I have a confession to make, I haven't upgraded my #K3S in four years 🙈
    At first, I just didn't think about it, and eventually I got worried that I might break something during the upgrade, for example, because of unmigrated #k8s APIs.
    Since I couldn’t keep going like that, I had my #Hermes #AI #Agent create an upgrade plan that takes all breaking changes into account.
    I’m currently having the agent work through this plan, and I have to say, it’s working surprisingly well.

    #homelab #devops

  13. For several days now my DSL Internet at home is broken (because I moved the cabinet?), so my and its web infrastructure is unavailable - even locally because of CSRF and https annoyances. 🙄

    Single point of failure, huh...

    At least anything :gitannex: is reliable as ever - that's what it's built for: reliably moving files between machines even if not all of them are connected. Thanks @joeyh ❤️

  14. Deploy Codex. Deploy Claude Code. Then let them call each other. ☎️

    I've been building Codex Orchestrator: an open-source, self-hosted management and collaboration layer for coding agents across your machines.

    Not just “keep my config in sync.” Think easy deployment, shared project context, agent-to-agent calls and chaired conferences — with you still in control.

    🚀 One command per host. Either engine. Or both.

    Set up the orchestrator with the guided Docker installer: bin/install.sh. It handles secrets, TLS, the database, the dashboard and readiness checks, and can resume an interrupted install.

    Then register a machine, choose Codex, Claude Code or both, and run the one-time installer command from your dashboard. It installs the selected CLIs and their managed wrappers, including Node.js/npm preparation when Claude needs it.

    After that, launch with cdx or clx. Credentials, configuration and agent instructions are synced for you. No repeating the same setup dance on every dev box.

    ☎️ #call — connect two agents, not two clipboards.

    In one agent session: #call sender
    In the other: #call receiver <pin>

    A short-lived, single-use four-digit PIN pairs the sessions. Codex ↔ Claude, Codex ↔ Codex, Claude ↔ Claude.

    Use it to ask a second agent for a review, compare findings or coordinate a handoff. You carry the PIN between terminals; the agents exchange the messages. Calls have a turn budget and a deadline, because an endless “thanks!” / “you're welcome!” loop is not productive collaboration.

    🗣️ #conference — give your agents a meeting room.

    Start with #conference chair API review. Invite peers by address or let them join with the room PIN.

    One agent chairs the discussion, opens rounds, dispatches tasks and gathers reports. Participants answer the chair and return to listening. Eligible idle hosts can be brought in through their relays, too.

    For example: ask a Codex agent to chair an API review, bring in Claude to challenge the design, and assign another agent the test review. Different machines, different engines, one coordinated discussion.

    Rooms have per-member message budgets, deadlines and graceful adjournment. Yes, I gave AI agents meetings. At least these come with an enforced ending.

    📂 Projects — context that survives the terminal.

    Give your agents a shared workspace for project notes, todos, files, feedback and durable memories. Record decisions and their reasons, then let the next session pick them up instead of making you explain everything again.

    The Project Board adds cards with explicit claims: see who is working on what, move work through its stages, and reclaim stale claims when a session ends or its lease expires.

    The built-in CoCo skill teaches agents how to discover projects, load their context, catch up on changes and record their work through MCP.

    🔄 Your setup, consistently delivered.

    Manage skills and versioned AGENTS.md / CLAUDE.md instructions centrally. Codex reads fleet skills through MCP; Claude receives them in its native skill directories.

    Set fleet defaults, override individual hosts, pin CLI versions or enable managed updates. Keep host scratch notes, project memory and fleet-wide reference material in separate scopes.

    🛠️ The operational bits are there, too.

    One dashboard for hosts, engine coverage, versions, sync health and usage, with ChatGPT quota visibility and warnings. Encrypted auth storage, per-host keys, signed wrapper configs, credential cleanup for hosts marked insecure, and a fleet-wide API kill switch.

    There are also OpenAI- and Anthropic-compatible API endpoints for integrating other tools. Collaboration is opt-in, not something silently switched on during installation.

    This is for developers, self-hosters, homelab tinkerers and DevOps folks running coding agents across laptops, workstations, VMs or remote dev boxes — especially anyone tired of being the deployment script AND the message relay.

    The orchestrator is self-hosted; Codex and Claude still use their respective providers.

    Give it a spin. Open an issue, tell me what feels awkward, or bring a PR. I'd love feedback from people putting it to work.

    And yes: GitHub stars make my day. ⭐ Boosts are very welcome, too.

    github.com/christianreiss/code

    #SelfHosted #OpenSource #Codex #ClaudeCode #MCP #DevOps #Homelab #ai #claude #codex

  15. My little test GPT-2(ish) model, "alan", I finished training a few hours ago is either really, really dumb, or quite sassy. In reality it's actually a little dumb, but we love him just the same. (write up coming later in the week if you're curious)

    #ai #gpt #machinelearning #diy #homelab

  16. Traefik v3.7.13 patches 5 CVEs and ships a ton of bug fixes across ACME, K8s ingress, HTTP/3, and auth. Read the migration guide before upgrading

    github.com/traefik/traefik/rel

  17. I’m looking to replace Mullvad as my go to VPN but it is nigh impossible to find decent info nowadays on which VPN is good. What are you using? #vpn #homelab

  18. Tra abbonamenti a streaming, musica, cloud, domini, VPN e software, è facile perdere il conto di quanto spendi ogni mese.

    Con Wallos puoi tenere traccia di tutti gli abbonamenti, vedere il costo totale e ricevere promemoria prima dei rinnovi, tutto in self-hosting.

    Scopri di più nella nuova guida che mostra l'installazione con Docker Compose 👇

    risposteinformatiche.it/wallos

    @opensource @linux

    #Wallos #SelfHosted #DockerCompose #BudgetPersonale #Privacy #OpenSource #Homelab #UnoLinux

  19. Traefik v2.11.57 patches 3 CVEs and squashes bugs around DNS challenges, HTTP/3 transport, and h2c upgrade header forwarding. Check the migration guide before updating.

    github.com/traefik/traefik/rel