add posts: sunsetting dumpsterchat for rocket chat, and moving off oracle free tier

This commit is contained in:
2026-08-24 10:56:15 -04:00
parent 1cea20803c
commit da07256a09
2 changed files with 99 additions and 0 deletions
@@ -0,0 +1,55 @@
---
layout: post
title: "sunsetting dumpsterchat and handing the keys to rocket chat"
---
the kettle's been on the back burner longer than i care to admit, and honestly it's time to admit something harder: i'm sunsetting dumpsterChat.
## the honest version
for about a year, dumpsterChat was my favorite thing in the homelab. quick recap for anyone who missed the original post: it was a self-hosted discord-like chat built with go/chi behind and vite/react/tailwind up front, websocket real-time messaging, running for a group of about twelve friends on a proxmox lxc named smoothbraincollective. it had threads, forums, calendar channels, docs, moderation, role-based permissions with bitflags, and a livekit voice layer that was sitting on the roadmap. i was proud of it. i'm still proud of it. the name alone still makes me laugh.
but here's the thing nobody tells you when you decide to build your own chat platform: you don't just build it. you inherit it.
## the real cost
every feature the twelve of us wanted, i had to write. every bug at 11pm was mine. every "hey can the chat do X" was a project, not a setting. discord and rocket chat and matrix ship new capabilities constantly because hundreds of engineers work on them. i had one engineer, and he was also the person who had to remember to back up postgres.
it's the difference between opening a coffee shop and owning a coffee shop. running the counter is fun. owning the roaster, the plumbing, the lease, the health inspection, that's a different job and it doesn't end.
the voice channels were the moment the math stopped working out. livekit worked, but making it feel like discord's talk-for-hours voice rooms, with push to talk, with sensible device management, with the kind of stability people take for granted, was going to be another huge chunk of my weekends. i looked at the work, i looked at the twelve friends, and i realized the right move wasn't to build more. it was to stop.
## what i switched to
i moved the crew to rocket chat plus jitsi, both self-hosted on my own homelab, running on the rocket lxc. rocket chat gives us the polished chat experience without me maintaining it: rooms, DMs, threads, integrated apps, webhooks, a full moderation suite, and an apps engine. jitsi handles the voice and video calls, so we finally got the talk-for-hours voice experience, arguably better than what i'd have built myself.
the edge routes through caddy on the homelab: lobe.lobotomylabs.dev hits rocket chat, and meet.lobe.lobotomylabs.dev hits jitsi. two domains, one homelab, zero per-seat cost.
the crew's little ecosystem came with us, which is the part i'm genuinely happy about. the steamfree notifier that pings the channel when steam's giving away free games, the dicebot for rolling, the ai bot that hangs out in the channel, the giphy picker that plays nice through the work firewall, even the file dropbox. they all made the jump to rocket chat with basically the same behavior. it felt less like abandoning a project and more like moving the whole crew into a place with a working kitchen.
## what i'm keeping from dumpsterchat
i'll be honest, there's a part of me that's sad. i built that thing. i spent a lot of weekends in a codebase that was entirely mine. the lessons are permanent though:
- go's concurrency model, goroutines and channels for every websocket, is the cleanest way i've found to move messages around.
- building a chat app teaches you more about real-time systems than reading about them ever will.
- role-based permissions and moderation are deceptively hard, even for a group of twelve.
- and my favorite one: building for a small scale is liberating, but only if you're the one who has to maintain it forever.
maintenance is the tax on everything you build. dumpsterChat's tax got high enough that the answer was to stop paying it and move somewhere the tax wasn't mine.
## the state of the stack
for anyone who's been following the homelab saga, the sunset is clean: the dumpsterchat lxc gets snapshotted and then retired. the only piece of shared infrastructure was the coturn relay, and that's handled separately. the rest of the app, the database, the object store, the livekit stuff, they all go away with the container.
it's a good kind of sunset. not a crash. a deliberate, quiet decision.
## the point
i'm not telling you not to build your own chat. i'm telling you to build it, learn from it, and then be honest about what owning it costs. if the point is to own your conversations, there are excellent self-hosted options that already solved the hard parts. if the point is to learn how the hard parts work, you've got to build it yourself at least once.
i did both. worth every weekend. and now the kettle's going somewhere a little warmer.
thanks for reading along. what's the last thing you built that you loved and then wisely walked away from?
-dustin
@@ -0,0 +1,44 @@
---
layout: post
title: "when oracle cut the free tier, i moved the gif picker back home"
---
here's a thing that happened with almost no fanfare: oracle quietly cut its "always free" cloud tier in half, and i found out the way everyone finds out: by reading a changelog and an account notice with no announcement attached.
## the free vps i'd been leaning on
for a while i had one small arm instance on oracle cloud infrastructure, running the matrix gif picker at giphy.dustin.coffee. it's the "pick a gif, grab the mxc:// link, paste it into matrix" tool. the title literally says "pix's finest gif picker." i did not name it, but i respect it. it was a nice little anchor, something tiny running on someone else's hardware, close to the matrix server, no electric bill from my own rack.
## the quietly halved always free
the always free ampere a1 allowance used to be four ocpu and 24 GB of ram. that's a genuinely generous amount, more than almost any cloud gives away for free. then, with no big announcement, oracle cut it to two ocpu and 12 GB. the monthly allowance dropped to 1,500 ocpu hours and 9,000 GB hours, and the new number took effect around mid-august. existing always free users got hit by it, not just new signups.
on top of that, there's the idle reclamation. oracle has been tearing down "always free" instances it decides are idling, based on cpu and memory usage. so even when you keep a box alive, you're renting from somebody who can decide it's not earning its keep and take it back.
the word "always" was doing an awful lot of work in "always free."
## the obvious question
why not just add a card and switch to pay-as-you-go? because the whole point was free. the moment you drop a card on file you're in maybe-i-get-surprised-by-a-bill territory, and now it's not free, it's just unfinalized. and for the thing i was running, a gif picker, the math was embarrassing: i could run that exact service on hardware i already own for exactly zero extra dollars a month.
## what i did
i moved the gif picker home. the dns for giphy.dustin.coffee now points at my own homelab, at the public edge running caddy, and the service hums along on a box i control. same tool, same mxc:// links, same tiny footprint. the oracle instance is getting decommissioned.
it's not a dramatic migration. there was no data to lose, no careful cutover, no seconds of downtime that mattered. it's a tiny service that stopped living on a free lease and moved into its own place.
## the lesson
free tier clouds are a lease, not a home. oracle's is, or was, genuinely the most generous free compute anywhere, and i don't begrudge them tightening it. the economics of always-free at that scale were never going to last. but "always free" is a marketing phrase with a reaper attached. the moment you build something on a free allocation, you've signed up for somebody else's changelog.
a homelab is the opposite. no reaper, no ocpu ceiling i didn't pick, no surprise account notice at 7am. you pay the electric bill and the replacement cost of your own hardware, but you own the whole thing. the free tier is a cafe's free refill policy. the homelab is your own kitchen.
## what's next
there's not much left on oracle that i care about. once the picker was home the rest of the account became dead weight, and it's not worth keeping a tenancy alive for a box that's not carrying anything. if anything else was over there, it's next out the door.
i'm not anti-cloud. i'm anti-lease for anything that doesn't need to be leased. my homelab already runs the chat, the media, the git, the build pipelines, the ai stack. an arm box with two ocpu was never going to be the thing that made or broke any of it.
thanks for reading. what's the free service you're still half-expecting to get the axe next?
-dustin