this post was submitted on 30 Nov 2023
4 points (100.0% liked)

Self-Hosted Main

504 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I don’t want to hear about your Plex, your NPM, your notes application or science forbid, your budgeting application. I want to hear the most exotic thing you setup to selfhost, that probably only you and a hand full of people around the world actually use or even need. A problem that you solved in a way, that makes people go WTF. Go!

I’ll start: I live in the mountains, and there is snow, lots of snow. I often tell people “We had 3m of snow last year”, but is that really true? So, I thought to myself: Can you measure snowfall? It seems you can, so I setup a USH-9 ultra sound measuring device, connected it via IC2 to my Home Assistant and now I can tell people with confidence, that we had a total of 3.45m of snowfall last season, with max snow height of 60cm on January 5th.

Future project: I have chickens. They lay eggs. I have cameras. I want to know which hen lays how many eggs. Solution? AI image recognition of the hens (who is who) and if they have laid an egg. Any inputs welcome.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 11 months ago (1 children)

When I lived off grid, I wrote an energy production measurement application. With both hydroelectric and solar going through a 1990s inverter, it was something. Nowadays these are off the shelf for suburban yuppies, but for my DYI-everything homestead, only DIY would do. Measurement was via shunts. I put it online over satellite internet and could watch my production and static consumption from work.

[–] [email protected] 1 points 11 months ago (1 children)

You built your own hydro? Tell me more!

[–] [email protected] 1 points 11 months ago

From what I've gathered from youtube you'll usually need to create a height difference of some sort by damning up a bit of a stream, then have the overflow go through a pipe that's a sheer drop down onto an impeller attached to an electric motor (bonus points if it's recycled from something like a washing machine).

Then from that motor it's on to battery chargers etc....

[–] [email protected] 2 points 11 months ago (1 children)

I have two! The first is exotic purpose, the second is just tightly integrated so much that it might be only useful to me.

Smashcam

I live on a busy corner, in an otherwise slow and sleepy town right outside the city line. I live between a lot of town services on one side (fire house, library, athletic fields, town hall) and the elementary school on the other side. Pedestrian traffic is very high, the amount of children crossing is very high, bicycles abounds, and the cross street between them is decently high traffic.

So I see a decent amount of car accidents on my corner. 30mph limits on both streets so usually not catastrophic, you might be driving away instead of towed. But the repairs will be substantial on most of these. To provide an objective reality-as-a-service, I set up a camera high up in the eaves of my roof pointed right at the intersection. I've sent the police enough clips that they know where to archive my emails for evidence by routine. I've started training a model to detect car crash noises (and honks) to cut and save the clips automatically. It's not reliable enough yet, but this could become a reasonable pipeline:

Car crash audio detected ->
Notification "Possible crash, do you want to review the footage and send to the po-po?" ->
manual human review to make sure we're not sending false positives ->
hit send ->
email with clip constructed and sent

Photos

This is not exotic in terms of its purpose. Lots or people have self-hosted photo sites (heres a whole chart of them all!)

But none of them integrated with my foss RAW editor darktable.

So I built my own photo site alternative that parses the darktable edit files and DB.

So now on the web, I can see the ☆ ratings I gave the photos in my editor. The tags and labels, etc. I parse the RAW files to show the focus boxes that the cameras write in the metadata when they took the picture, the facial recognition bounding boxes, etc.

And it shows the edit history stack and all the edits from my RAW editor. And of course, it has the left-right swiper to show before/after the photo edits. I can export any size, and it calls out to darktable with command-line control to export with the given edit stack to make the JPG of whatever size I'm requesting.

So yes, alternatives exist. Mine is simply very specialized to a particular editor program. I don't believe I made the repo public, so as far as I know, I (and my family) are the only ones using it. It's probably more featureful than things I have released.

[–] [email protected] 1 points 11 months ago (3 children)

That with the car crash is awesome. I’ve read a few month ago of a gun shot detector someone was deploying around their city to triangulate where it happened, that’s more sci-fi than anything the law enforcement is doing. Kudos to you for helping out the police.

load more comments (3 replies)
[–] [email protected] 2 points 11 months ago (2 children)

I suppose my most well known one is a recreation of the BBC's Ceefax service (https://www.nathanmediaservices.co.uk/ceefax/) - I wrote a program which scrapes the BBC and various other sources for data and turns it into old-style teletext pages. All hosted from my rack in the attic. Not very exotic but still.

[–] [email protected] 1 points 11 months ago

Can you broadcast it via RTSP or something to your TV?

load more comments (1 replies)
[–] [email protected] 2 points 11 months ago

Future project: I have chickens. They lay eggs. I have cameras. I want to know which hen lays how many eggs. Solution? AI image recognition of the hens (who is who) and if they have laid an egg. Any inputs welcome.

You'd probably like this: https://www.reddit.com/r/homeassistant/comments/schcw0/diy_smart_chicken_coop_and_inapp_egg_counter/

[–] [email protected] 2 points 11 months ago

I self hosted searxng, but the problem is after I was done I realised that defeats most of the privacy benefits of searxng: If I'm the only one using it, then I might as well just be using the search engines themselves directly.

So now I also have firefox running in a docker container, searching random junk on searxng every couple of minutes.

[–] [email protected] 2 points 11 months ago (2 children)

I have kubernetes cluster running a vanilla warcraft server full of computer controlled bots that play in the world while I'm offline, just chuggs away all day then sometimes I log in and see how the bots are doing and play a little.

load more comments (2 replies)
[–] [email protected] 2 points 11 months ago

Our car has wifi so you can connect to it and start the heat/ac. It doesn't have 5g/4g just no data wifi so you have to be within ~20 feet to warm it up. The app sucks also, along with connecting to its wifi.

Alexa "Warm Up The Car" -> Home Assistant -> trigger an android phone to run a touch script on the phone to run the stupid app and warm up the car -> then report back it did it correctly.

It still fucking works after 5 years and I refuse to even touch the damn thing, as it's way way too handy when it's cold out.

[–] [email protected] 2 points 11 months ago

0815: Tell me you are German without telling me you are German :D

[–] [email protected] 2 points 11 months ago (4 children)

I too have a chicken cam, but no image recognition at this point. However, I have used it to discover that an opossum was breaking in and eating the eggs.

Other than that, the most unique things I have cobbled together are probably these:
- I work from home, so I created an automation using Home Assistant to tie into the Webex API to determine if I'm on a call or busy and, if so, turn on my Do Not Disturb light so that people don't just barge into my office.
- A script my son can run from my OliveTin dashboard to update our Minecraft server (docker container).
- Another script I can run from my OliveTin dashboard to log into my firewall and disable/enable my son's internet.
-- Both of these scripts notify me when they've been run via ntfy.

[–] [email protected] 1 points 11 months ago

I love custom HA work flows that are specific to ones needs. Great job! Show’s the beauty of HA that most people miss when all they do is the standard stuff, but you can basically do anything you can imagine. I have door sensors and instead of only relying on a baby monitor, when my toddlers open their door after 2200, the lights turn on in the hallways (so they see something) and a light in our bedroom turns on as well as a notification on the phone. Because sometimes toddlers are sneaky and you hear nothing on the baby monitor. Set this up after I heard one of them cry two floors down (he went through the entire dark house alone down two flights of stairs).

[–] [email protected] 1 points 11 months ago

I also used a cheap wifi motion sensor to tie into Home Assistant which triggers another automation for a smart bulb in my office to let me know when the dog wants in from the garage.

A former colleague of mine had an even more advanced version of this. Since his dog is chipped, and the chip is RFID, he hooked up an RFID reader to an Arduino, and built a dog door with a motor that automatically opens when his, and only his, dog is there, and sends him a notification.

load more comments (2 replies)
[–] [email protected] 2 points 11 months ago

The industry I work in has many many companies. For whatever reason they all seem to use a very similar website template. Job openings are almost always listed on their webpage. Almost always its a plugin from workday or whatever their HR software is. Years ago I noticed that job listings were almost always published to their websites before they appeared on major job sites like linkedin.

I used a business to business website that lists every single company in this industry by location and has a link for each to generate a list of companys and URLS. I monitor this for changes with changedetection.io

Then changedetection.io + company list and their job posting URLS that look like this company.com/careers/join-us/?_sft_job_posting_category=technical

So I now have about 800 companies that I am able to monitor for job leads and get notified via NTFY with company, job title and job description.

Its turned off currently cause I am actively employed, but when I was looking about a year ago I had it running hourly and if I look again I will indeed use it

[–] [email protected] 1 points 11 months ago

RemindMe! 3 Days

[–] [email protected] 1 points 11 months ago (1 children)
load more comments (1 replies)
[–] [email protected] 1 points 11 months ago

I host two exotic solutions beside all other.

Restreamer https://github.com/datarhei/restreamer Complete stack to stream on each plateform without congesting my home network.

Rustdesk https://github.com/rustdesk/rustdesk-server Teamviewer like, very stable and as powerfull as I need.

[–] [email protected] 1 points 11 months ago

RemindMe! 4 days

[–] [email protected] 1 points 11 months ago

Does hosting Stash count?

[–] [email protected] 1 points 11 months ago (3 children)

Mine is a bit exotic I guess. I use Terraform to manage my home lab. I tried all of the docker update solutions out there and they'd always make my Terraform out of sync. So I built my own solution that interacts with an orchestrator, a backend and a front-end.

I use Terraform to create flows for each service. Then the flows interact with the backend to manage the actual updates. The frontend is there to let me see the latest change log of each project before I update.

For my next project I want to set up an oil tank monitor for our heating. Then I can use Prometheus and Grafana to monitor usage. From there I can start making predictions and so on

[–] [email protected] 1 points 11 months ago

Sounds very cool, and I'm going to be a huge ass and say that could have easily been done with k3s and either flux or argo image watcher.

+1 for terraform at home tho, I do the same and people look at me like I've curb stomped their child

load more comments (2 replies)
[–] [email protected] 1 points 11 months ago (2 children)

Well we all need a 100G capable firewall sometimes

[–] [email protected] 1 points 11 months ago (1 children)

I need a connection that warrants a 100g firewall.

[–] [email protected] 1 points 11 months ago (1 children)

If you have fiber, chances are you can get a 100G+ connection.

[–] [email protected] 1 points 11 months ago

Really? I’ve seen fiber being a nice treat only in some locations. Most of them are pushing 1gig with 10gig as the new option in select areas. I haven’t heard of any 100g broad rollout as a residential connection. Heck, who can even utilize that pipe? Besides a distributed mesh type network, I think even your best CDN’s can’t dedicate more than 10g (maybe 1) to a single client. Besides, what would that cost? Holy smokes.

[–] [email protected] 1 points 11 months ago

One can never do without one.

[–] [email protected] 1 points 11 months ago (2 children)

I don’t know how exotic hosting a SIEM and EDR (Elastic Security) solution for self hosting ist but I do that. Complete with custom alerts and all. Additionally I use Wazuh for vulnerability management and integrity monitoring on my assets. Also I run a SOAR-like script that enriches my alerts with other SIEM and external Threat Intel data.

[–] [email protected] 1 points 11 months ago (1 children)

Is Elastic Security free? I have Graylog but the security functionality is not included in the free edition.
Also, if you don’t mind, what triggers did you implement?

[–] [email protected] 1 points 11 months ago (1 children)

It’s completely free even the EDR and Threat Intel functionality. It blows my mind too. The only things that are not free are things like machine learning detection, ransomware and cloud (k8) protection and other enterprise stuff like SSO. Besides the prebuilt elastic rules (https://github.com/elastic/detection-rules) I implemented about 50 of custom rules for stuff like too many failed logins, unusual traffic flow (you can also send flows from your FW to Elastic), user account creation, network reconnaissance, unusual geo-ip location etc.

The stack is based on the „pfELK“ docker compose file (meaning it integrates automatically with Pfsense/OPNsense logs) that I further modified to automatically include the fleet server and threat intel agent and stuff: https://github.com/maof97/pfelk-docker

[–] [email protected] 1 points 11 months ago

Elastic Security

This is great, I've been running Security ONION for a while but looking to change it up. Right now all I can find is Elastic Security's cloud trial, can you point me to where to grab it?

load more comments (1 replies)
[–] [email protected] 1 points 11 months ago (2 children)

I've recently did something that made my friend go "why the fuck would you even need that?"

I've recently discovered that I can't neither VPN into my VPS nor my home network from my college. Both OpenVPN and wireguard were not working. So, to fix that, I'm running a shadowsocks proxy, which is behind an nginx reverse proxy, through which I connect to my services.

Now, I haven't tested it with my college network yet, but based on other similar reddit posts I've read, it should theoretically work.

load more comments (2 replies)
[–] [email protected] 1 points 11 months ago

Spank me and tell me you host your own email.

[–] [email protected] 1 points 11 months ago

Custom rss to iptv solution that monitors Peertube channels, scrapes the videos to grab a m3u8 if available and consolidates it to a iptv vod m3u with xmltv to serve it to my stream station

[–] [email protected] 1 points 11 months ago (5 children)

In 2016 purchased and jailbroke 20 iPhone 4, and later upgraded to 30 iPhone 5s on iOS 9.3
I wrote a custom theos tweak which injected an HTTP server into Snapchat.
A raspberry pi was running an nginx server as a load balancer across the 30 iPhones.
I developed an Android app called "Casper", which was a 3rd party Snapchat client. It sent http requests to my load balancer server to fetch signed security tokens from a random iPhone, which spoofed that it was the official Snapchat app.
The Snapchat APIs believed my app was the real app, so it could download and view snaps without the sender knowing it was even opened.
Self hosted an iPhone farm :)
Here's a link to my tweet with photos and videos of the setup for anyone interested!
https://twitter.com/LiamCottle/status/1406616490783117322

[–] [email protected] 1 points 11 months ago

That is amazing! So much effort just to “hack” into Snapchats ecosystem, that’s what I’m talking about. I did or do the same with Pokémon Go to map areas. I’ve first used Android HTPC for that but now I use arm VM’s to walk around with dozens of accounts that will then report back the location of the Pokémon it detects as well as their IV’s and such, so you can just go there and catch your much needed perfect IV Pikachu.

[–] [email protected] 1 points 11 months ago

A guys that I known did something similar: he bought lot of SMS unlimited SIMs, a bunch of cheaper chinese Android phones and he create an SMS gateway with this solution. After a while the telco start banning the phones from the network because they see an huge number of SMSs coming from the same mobile cell. Then he decide to spread the phones to friends and family, but after a while they got banned too. So he made an agreement with a friend that have a courier company and in every truck they put 20/30 phones sending SMSes all the time. Never got banned and he grow up the company until he sold it for 5 milion

load more comments (3 replies)
[–] [email protected] 1 points 11 months ago

RemindMe! 2 days

[–] [email protected] 1 points 11 months ago (1 children)

10 years ago I had a problem: I burn wood to heat the house. The problem was that many times I had something else to do and couldn’t wait for the fire to go out and close the hatch that lets air in the boiler. If the hatch is left open the air goes thru the boiler and cools it down quicker.

The solution: I installed a raspberry pi with a usb cd drive. From the cd drive I tied a fishing line via the adjusting arm to the hatch. When the cd drive opens the hatch closes. I then host a website on the raspberry where I can push for example on ”Close the hatch after one hour” and it would do it.

It was a temporary solution and I have had parts for a better arduino solution for years, but here we are 10 years later.

load more comments (1 replies)
[–] [email protected] 1 points 11 months ago (1 children)

100g in the mountains? Where is this mythical place?

[–] [email protected] 1 points 11 months ago

Switzerland, has to be. Once you learn about Init7's $70 25Gbps FTTH service, you get sad panda.

[–] [email protected] 1 points 11 months ago

I've recently did something that made my friend go "why the fuck would you even need that?"

I've recently discovered that I can't neither VPN into my VPS nor my home network from my college. Both OpenVPN and wireguard were not working. So, to fix that, I'm running a shadowsocks proxy, which is behind an nginx reverse proxy, through which I connect to my services.

Now, I haven't tested it with my college network yet, but based on other similar reddit posts I've read, it should theoretically work.

[–] [email protected] 1 points 11 months ago (1 children)

I'm not hosting anything exotic right now, but in the past, before the -arrs existed, back in the 2000s:

  • Linux computers in every room, all PXE booted thin clients I crafted myself from a pallete of off-lease computers
  • A custom RSS feed to rtorrent to a MythTV setup that migrated video as you walked between rooms.

The first one was actually useful. The second one was more of a novelty I'd show to visitors.

load more comments (1 replies)
[–] [email protected] 1 points 11 months ago

2 years ago , when our 1st child been born, my wife was super stressed about how to raise her. Especially about sleep and feeding times.
I installed Baby monitor on docker and it provided huge help with her stress and with the baby ofc.
Simple but people were like WTF for sure

[–] [email protected] 1 points 11 months ago

I have an automation that is triggered by a door open/close sensor that I have attached to the flushing arm in my toilet with a custom made 3d printed mount for the sensor, which triggers a script on the server which connects to the chromecast speaker in the bathroom and plays the final fantasy 7 battle victory theme whenever someone flushes the toilet. It is perhaps my favorite part of my home.

[–] [email protected] 1 points 11 months ago

I wanted to know what the airquality was outside my house, but this was hard as multiple houses here use woodstoves, so i needed to compare the quality of air over multiple points to have a proper baseline.

In short, i now run a virtual m2m lora-wan provider for 5 sensors around my town that feed into homeassistant using mqtt, all sensors are battery powered with solarpanels and powered by esp32's.

load more comments
view more: next ›