Selfhosted
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.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
Let this post be the one to ask a question that's been bothering me (not a coder):
This and similar claims in other software suggest - to me - that the AI is running locally on the raspi, no need to exchange data with sites providing AI APIs or whatever.
I struggle to believe that this is possible, let alone on a raspi.
So, how "local" ar the AIs that help more and more software with various tasks?
Is "local AI" some sort of selling point that is often false or deliberately misleading? "Localwashing"?
edit: thanks for all the answers, this has been enlightening.
I've been running birdnetpi on a raspberry pi 3 for years. It runs very well on this modest hardware. I also run birdnet-go in a docker container and use my reolink security cameras for the RSTP audio feed to that instance.
There are all sorts of AI/ML models available that can run on smaller hardware. But they are usually very specific and not general purpose, like the LLMs.
Audio processing by ai can absolutely happen on a pi.
As an example, whisper.cpp is a high performance speech recognition model, and it does a great job. The biggest version of it as a model requires less than 5GB to live fully in memory, the large model at about 1.5billion parameters, and it works great even CPU only.
The one used most often is small, which has about 244million parameters, and needs about a gig of ram and nothing more.
For a pi 5, usually the base or tiny model are used. Small could be used in most scenarios, but tiny and base are able to run real-time.
So it depends for how local - sometimes its all self contained and can do just fine on a pi, sometimes its local in that it needs an LLM endpoint to hit, but that can be running on another system entirely.
It would really depend on the project for how/where/why for a definition of local.
Thanks.
I understand now that this software does not use one of the big general AI providers but a specialised model (for birds esp.?) that runs locally; that I can get behind.
Are there other keywords in software descriptions I can look for that help me make such distinctions?
Aside from "local model", you might see things like whisper.cpp, llama.cpp, ollama, or "OpenAI compatible endpoint", or a reference to getting models from HuggingFace (you can think of it like github for llm's - its more and less, but accurate enough for what we're talking about here).
whisper.cpp is a c++ implementation of whisper (ASR as mentioned), llama.cpp is a high performance and lightweight tool to support llm/llm inference, ollama is a very user friendly way to do the same, and OpenAI compatible endpoint is just using the protocol for communication, so you can point the client at llama.cpp or similar running on the same machine or another you have access to.
Most things with an extemely tight purpose like this (like listening for some birds singing) will use much leaner models, and may be able to run even from a phone.
Specialized models can be made incredibly efficient. The big tech guys are trying to replace humans which is why their crap takes such huge servers to run. Building local-first/only just means you need to specialize the model and the pipeline to match what you're doing
Thanks.
I understand now that this software does not use one of the big general AI providers but a specialised model (for birds esp.?) that runs locally; that I can get behind.
Are there other keywords in software descriptions I can look for that help me make such distinctions?
LLM and VLM are generally the type of model that needs a ton of resources to run. Birdnet uses an audio classification model, but there are dozens of types of models.
I'm building specialized task-focused pipelines which keep the memory footprint small for self-hosted users, and I'm working on a unified framework too make building other pipelines and applications much easier: https://docs.circuitforge.tech/
If you give me some details on what you're after I might be able to find you some projects or at least clarify keywords
Edit: an example of how efficient these can get, I have a little ESP32-driven waveshare display running an ONNX wake-word detection model which is absolutely nuts. 4mb psram and a dual-core 240mhz cpu and its only job is handling "hey Mycroft" and establishing a proper speech-to-text connection with my server downstairs
I haven't verified it, but it local ML models on audio is pretty efficient and should run fine on a raspberry pi.
If you're speaking of audio analysis ML or AI models, they are quite efficient. As a mediocre musician, who is clinically deaf and cannot hear some frequencies with enough clarity to make a judgement either way, I lean on AI assisted audio mastering. I haven't dabbled in AI generated music, but with the right DAW and a handful of plugins, some keyboards and instruments, you can do a lot right in the comfort of your home.
It can run on device on your phone https://birdnet.cornell.edu/
Listen, everything that they are doing by scorching the planet and turning the tap water brown, could be achieved on CPU or much smaller GPUs on local machines - it's a question of focused, tight training. What they're doing instead is literally attempting to build gigantic models that take in absolutely everything (burning real books in the process because fuck history we got money to make) and attempting to sell the idea that this brute force, one-thing-does-it-all approach, which requires us to give up everything else that is good in the world, is the only way forward, and yes, we must build the roko basilisk now.
It's a big, big grift.
Didn't downvote you however, are you saying if I ran an AI model local, that scorching the planet and turning the tap water brown is ok with you, just because it's local?. Because that's exactly what we're are doing when we access the internet. Throw AI out of the scope, and we're still pumping massive amounts of carbon in to the air, still turning the water brown. There are 8.4 billion people on this planet. Approximately 6.3 billion of them are online. That's just individual humans. That doesn't include the hundreds of thousands of data centers that aren't even connected with AI and all the energy production to make them run.
So, who will be the first to actually practice what you preach and shut down your servers and internet devices? C'mon...make the first step towards a cleaner planet.
This whole internet could run on a tiny fraction of what it current consumes, with no drop in service levels... if the extraction of profit from every single interaction was not prioritized.
That being said, I was addressing someone who refused to believe that local inference was even possible on CPU; this tells me that the efforts to present the current grift as the only and inevitable AI outcome is working, on minds that do not fundamentally grasp what the technology is, nor what it's doing. I think the tech is great, and highly useful - the way they are implementing has perverse incentives and existential outcomes, and it does not have to be that way, but it is, because capitalism.
But it doesn't.
But it is.
So, now what are we going to do? Give me real world solutions that will actually fix the issue, which would be implemented by real world corporations and real world data centers. I'm not problem hampered, I'm solution based. So let's fix it.
Decouple people from big tech, allow people to run, fix, and maintain their own hardware instead of replacing it on an industrial scale every 6-9 months and centralizing ownership in data centers.
My entire stack runs off a 14kw solar array with a battery. Net negative. It's totally doable.
Edit: also I tested my stack against a stimulated 1k active users and couldn't get it to break a sweat, so I'm not saying everyone needs to do things this way, but your techiest uncle could host the entire family in a privacy cooperative, for instance
I'm not making fun of what you've said, and I'm not talking down to you. That said, I like where you're going, but that will never happen. You can mark it on the calendar: 'That irmadlad asshole said - never happen'. On the one hand I applaud you loud and clear. On the other hand, we live in a global consumerist society. Corporate is just giving them their fix. That's their plug.
I have solar too. Hell I have solar on two barns. I like it. I often think about how far along we might be here in America if a lowly peanut farmer had not been ridiculed beyond belief for putting solar on the white house. Now, they were not what you'd call efficient, but it was a start. I think the next presidency took them down.
Oh no doubt. I've long since been a promoter of the notion of a server in every home. We live in a digital society. We have digital assets. These need to be centrally housed on a very secure server and backed up.
However, self hosters and homelabbers make up <2% of the world's population. It gets even less if you differentiate between consistent homelab/self hosters and those who were just experimenting. Yeah, we do it, but not on a massive scale to even make a ding. Again, I like where your head's at, but it's not us we need to convince, it's them. And they like their crack. Corporate likes their money.
I mean, I'm not saying give up. Keep pushing. But realistically, we're in a script.
It's a small model that runs on your machine using a TFLite model. AI/ML models come in many different sizes. Some more conducive for running locally than others. There's more info on the detection pipeline here.
I didn't write this, just found and self hosted it.
Thanks.
I understand now that this software does not use one of the big general AI providers but a specialised model (for birds esp.?) that runs locally; that I can get behind.
Are there other keywords in software descriptions I can look for that help me make such distinctions?