I’m self hosting on an old laptop, and I’m a convert for life. Self-hosting is amazing. Looking for other people’s weirdest examples of what they’re doing as inspiration.
My example, I recently set up a grammar script, where I have a couple 8b LLMs and an html landing page. I upload a doc and it corrects grammar and highlights changes it made, or just proofreads and I make changes manually. I can upload a novel before bed, and have suggestions based on specific writing styles in the morning. All local, perfectly suited for my own work.
I selfhost podsync. Even for podcasts that have their own feel, I love getting chapters embedded…
I have a lot of custom stuff, esp. regarding HomeAssistant integrations. But my favorite “stupid/not stupid if it works” solution is the following:
I have an LG TV and attached Nvidia Shield. The Shield is the only input we ever use on the TV, and since its remote also can turn the TV on/off and control volume, its all we need. Which is pretty neat, only one remote.
Except for image settings (i.e. proper bright picture during the day, different less bright image mode during the night). I don’t want to keep the extra remote on the couch just for that, but unfortunately, these settings are not exposed via HDMI CEC.
They are, however, exposed via a web API on LG TVs. So my utterly stupid solution is this:
- install quick actions app on the shield
- reconfigure Netflix button on the shield remote to open quick actions popup
- add two quick actions, night and day, that curl simple HTTP endpoints on a VM I set up
- on the VM, a simple flask server listens, and then sends the (too complex for the quick actions app) API request to the TV.
(I feel the need to add: the TV is in an isolated subnet and has never once communicated with the internet, and it will damn well die an internet virgin.)
Anyways, this has been working flawlessly for 2+ years! I also have toggles in HA for the same endpoints, but honestly, never use them. It’s so nice to just be able to toggle the image via remote.
Respect the hustle. This sounds useful for me, as I lower the brightness for the kids so I dont burn in their content.
I just aint setting that up! Nice work.
I have wireless wyze cameras in my house that are connected to a private network segmented away from internet access.
because of that, it’s impossible for them to retrieve updates. So I wrote a proxy in crystal-lang that can proxy web requests over my private network to the public internet.
this allowed me to pull the new hacked firmware and installed them from github while maintaining network privacy.
a year or so later I began selfhosting gitlab and now I just have a job that pulls a clone there and all the cameras pull from within my networks.
I setup a simplex alerting bridge so grafana can create lab alerts to a simplex group, messages disappear when alerts are resolved.
Another idea I haven’t pursued: something that monitors the movement of local transit (BART trains, and buses) so I can check their ETA’s and locations from a phone browser. There are existing apps and sites for this but they unfortunately suck. They always answer “when will the next bus/train arrive at stop XYZ” which is almost never what I want to know.
What I want is usually either “I’m on the #123 bus RIGHT NOW and want to get off at XYZ, how many more stops do I wait?”, or else “my friend is on BART and just passed station X. When will she get to station Y where I’m supposed to meet her?”. Anyone implementing anything like that, please take it into account. The transit agencies usually have API’s to get the relevant data.
Oh, yeah, that’s a tough one, but seems workable.
It doesn’t seem so technically difficult if you can get the transit data. The phone GPS supplies your current location for the bus version, or alternatively you can just identify the most recent stop you saw. San Francisco has around 1000 city buses (I looked that up a while back) and you can put fairly precise coordinates, bus number, and route number of a bus into 4 or 5 bytes. So the complete locations of all the buses is around 20K which is less data than the javascript bloat that nextbus.com sends on every new visit. You do want the route maps (from transit agency) and street maps (openstreetmap) but overall it’s not huge.
I didn’t implement this because it stopped being needed, but a text to print converter for my hearing impaired and non-techie elderly mom. Basically an email gateway running on VPS so if she got an email or text from a family member, a raspberry pi in her bedroom would immediately print out the message on a receipt printer where she would see it. I was going to use a cheap thermal printer but another family member objected (I guess reasonably) to the toxic crap in thermal paper, so I found someone selling a still affordable impact receipt printer on craigslist. Nothing actually happened with this, but I liked the idea.
I play Schafkopf, a card game usually played by 4 players. It was always a burden, especially before group chats existed on mobile, to figure out if we’ll be four players coming Friday.
So for 20 years I host a webpage for the 5-6 of us. It shows a calendar, user clicks the dates they want to play. Days with already registered players show in different colors. If a 4th player registers, all 4 are notified via email.
Afterwards the page asks players for the monetary result, generates stats and graphs about money, game nights over time, individual player participation etc.
In 288 game days I made 1278 EUR. I missed 53 game days.
Wow small world. Have you played Spitzer?
Never heard of it. Schafkopf is quite popular here…
Got meshtastic once a day doing a weather report. Its very unique to my area. Its just a python script.
Ive got a script that syncs my crosspoint books and bookwyrm. Its just a python script.
Ai honeypot. It works really well. Guess what python script.
I am selfhosting HomeAssistant and one automation is for my ceiling lamp. As I don’t whant to touch the electrical wiring or alter it permanently, I control it via IR and imitated the signal from the original remote via the ESP32 and some IR led. This on his own does not build a full feedback loop, so the ESP does not know if the light changed after the signal got send out. I lacked the correct light sensor in my inventory but remembered that my clock got one for display brightness control. The clock supports MQTT and also exposes the light sensor values in HomeAssistant. So after the ESP sends a signal to turn off or on the light, the automation looks at the light value from the clock to validate that it worked, else it tries sending it again.
Home assistant, is the light of on?
I don’t know, let me ask the clock.
I kind of love this.
so, I’m self hosting for many years, with many many tools that i tried out and a couple that stuck.
not sure if this counts as weird, but I guess the most fitting example is the following:
i have a matrix server, which basically only a few relatives use to communicate with me, but I make heavy use of the bridges, so i don’t need to run those shit apps like Whatsapp on my phone.
anyway, i really dislike voice messages, because most of the time i read messages at the computer or in the tram and i don’t want to get headphones out, or simply don’t want to listen to five minutes of car noise to get the information off the words. so when my next productive episode comes I’m planning to set up a matrix bot that sends those audio files to some stt engine and returns a transcript to the chat. I’ll set up the bridge to ignore this bot, so the whatsnot user doesn’t get spammed.
Doesn’t the bridge require you to run whatsapp on a phone anyway?
I have a script that reads over one of the Canada Lemmy groups I am in and sees if a petition has been posted from ourcommons.ca than shares it in the Lemmy group if it has not been shared yet.
I’ve written a Signal bot that listens for messages from my wife and me. It’s for sharing pictures of our daughter with a small list of people that want baby pics. The images we send it get blurred and sent as a preview, with an unblurred version sent as a “view once” image. Each blurred image contains an ID so that recipients can request the images again.
Does the signal bot need its own phone number?
I think I read somewhere, that Signal just recently allowed registration without phone number (“just” a spare device and a one-time payment, it’s in Android Beta, apparently), so that’ll work now.
Yep. I keep an old phone for the bot to be a linked device.
God that sucks.
Why not use SimpleX or Wire or Matrix?
That’s very cool!
My wife often writes groceries lists using her phones note app, and sends it to me if I’m doing the shopping. Each item in the list is in it’s own line.
I use Nextcloud Notes, I’m pedantic and want to use a markdown checkist for shopping lists (also bad at shopping). I wrote a Matrix bot, or rather added a feature to an existing one, that adds
- [ ]in the beginning of each line of a received message and sends the result back. I then copy-paste the response into NC notes.for this my wife and i use grocy. we don’t really use the stock feature (which is probably the original main feature), bit is nice to do shipping lists by just clicking stuff that you already wrote and the shopping mode of the app is awesome. also the chores feature we use heavily, i just needed to tweak the ics export a bit.
Yeah we use Our Grocery
Nice. Seems like a more direct version of a Joplin list.
I built myself a ‘new masked email’ workflow. I copy and paste the site url into the form and click create. It generates my random masked email, generates a strong password, prompts me for my keepass password then saves all the things and copies the generated password to the clipboard. Here are some screenshots. I did a test entry to demonstrate for you.
![Dark-themed web form titled "New masked email". The intro line reads "Mint a per-site alias at [redacted domain] and save a login to KeePass." Below it are a "Domain or URL" field with the placeholder "amazon.com · https://infosec.pub/", a "KeePass master password" field with the placeholder "used once, never stored" and the note "Used in memory to open the synced database, then discarded. Never written to disk or logs.", and a teal "Generate & save" button.](https://infosec.pub/pictrs/image/f97152b2-5fe3-4919-a381-847f464c91d8.png)
New form.
![The same form after a test run for google.com. A green check reads "Saved to KeePass · Logins / google.com (qvkk8729)". Below it are the generated email "google.qvkk8729@[redacted domain]" and a random 30-character password, each with a copy button, the URL "https://google.com/", and a "Mint another" link.](https://infosec.pub/pictrs/image/924cc668-a1db-4095-88d8-69452b456b89.png)
I type in my KeePass password and I get this screen while the entry is automatically saved to KeePass.
This all runs on an Intel NUC in my office and is accessible over my local network.
This is awesome.
You might want to check out pass - the standard Unix password manager
I have and use pass for system secrets but for service where I’m logging in via the browser, I prefer KeePass.
I’ve (with lots of assistance from Claude) created a selfhosted app for managing a beer cellar and or well stocked fridge, which keeps track of drink-by dates, has push reminders to a PWA web app and much more.









