Only missing the workflows for my family to adopt it!
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: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (donβt cherry-pick information from the title to fit your agenda).
-
No trolling.
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!
God damnit, now I need to set up k8s and install it.
I've been putting off moving out of Google photos for years. No, no, I shouldn't spend the time to host it. It has that scary banner.
Way to ruin my weekend! /s
Congrats Immich Team! /and if you're listening, thanks!
If you have linux on machine(s) k3s/rke2 is pretty easy to get going.
I was going to finally do k0/k3 or something kubernetes to set it up. I managed to get it going scalable with just docker swarm. So the kubernetes procrastination survived another deployment!
K8s prob overkill if it's just you and your family
Whew⦠I was thinking it may have been a requirement now.
K8s is pretty cheap for fault tolerance
Two VM's and two Pi
If my wife decides whe wants to watch the wedding video or the kids first TKD break and it's down, she'll clamor to move back to Google/Apple. I can also move my piholes over there and some of my arr stack.
Resillient hosting for zero cost is pretty hot.
Two nodes doesn't provide quorum
If fault tolerance is what you're looking for I'd suggest a minipc over a pi, specced higher for the same cost and muuuch more reliable long term in my experience
The nodes go on x86. You use the pi's for control planes. They sit around doing pretty much nothing until a pod get's wrecked or upgraded then they spin a new one. You use 3's or 4's clocked down to save power.
You really only need one, but for $50 two gives your fault tolerance, fault tolerance.
Ok Iβll ask. Iβve been doing containers for a while now. My day job is in virtualization/networking/storage so this shouldnβt be that hard. But I just canβt get my head around kubernetes. Between work and home I have enough hardware to choke a robotic horse so that shouldnβt be a problem. Are there any good resources to get me started?
When I started with it, I looked through references all over and just felt f'ing lost, and I do this kind of stuff all the time. I am intimately familiar with AWS and Azure, but setting K8S up is just very different than the normal stuff we're used to. I'm big on installing a package and screwing with it until it works, but this doesn't work like that.
At the risk of being criticized here, and I'm very sorry if you're strongly opposed to AI, consider asking ChatGPT or Copilot to guide you through setting up Kubernetes step by step. Out of desperation, I figured I'd give AI a shot, and for the most part, it was really great at teaching it to me.
Ask it to give you the different options for setting up Kubernetes on your home lab (there are numerous ways to do this). You can save a lot of steps by using something like Rancher (k3s), which is a simplified version, but I prefer starting with the official kubeadm first. It's harder, but it gives you a better feel for what's happening, and it's more capable and closer to what you'd experience when crafting a production deployment.
Indicate your level of experience in the next prompt and specify which systems you're familiar with so it can tailor training to your existing knowledge and play to your strengths. Ask it to make a lesson plan first, and then pick what items you want it to walk you through. If anything feels weird or you have questions, stop it and ask away. You're working on something from scratch, so there's little to lose if it gets something wrong, but honestly, teaching technical things with tons of documentation available is probably the best use of LLMs that has ever existed.
If you decide against AI, focus your research on Docker cli, Kubeadm installation (the control plane/controller) and creating/joining nodes, persistent storeage and networking, K8S Namespace, then pod deployment. Complicated parts that might hang you up are getting logs from PODS that die on startup, and getting interactive prompts in a cluster are a little different than Docker (have to specify namespace)
For persistent storage, you then have numerous options. For a homelab, I like Longhorn; it's a RAID-like system that stores data blocks across the nodes, and it easily backs up to S3 if you want it to.
For homelab learning and testing, I just crapped out a Proxmox and started 3 VMs, setup kubeadm on the control plane and then joined two nodes, then spent I an hour getting NTFY to run in it for the first time, I really should have done a python hello world, NTFY is fiddly. But, it's super fun to stop a VM and watch the app come back up like nothing happened.
Once you get a base system up, whatever you choose, do check out https://www.ansibleforkubernetes.com/
Jeff Geerling did a bang-up job on the book, and it supports his cause. It just doesn't go into the detail you need to get started with k8s.
The absolute irony... I've used Immich for nearly 2 years without fail; it's never skipped a beat. Today I update to the stable release and my Immich mobile app now has a sync error warning. This is the first issue I've ever had.
EDIT: Phew! Clear File Cache in mobile app has sorted the error. For a moment I thought the universe was against me.
Yeah i cleared data and relogged. It's just easier that way lol
We aim to introduce additional paid services (not paywalled features, as we will never implement paywalled features), which will help support the project and that enhance self-hosting, making it easier and more reliable. First among the many services already planned is an end-to-end encrypted, off-site backup and restore feature, built directly into Immich. This will enable a buddy backup feature as well.
I love this.
Free features, but offering actual useful services for self-hosters (encrypted cloud backup). Great business model for a project like this.
Yeah this sort of bitwarden / nextcloud funding model is great IMO.
Having their own flagship instance, like Ente, would go a long way toward providing funding. I bet Ente is making a whole lot more money.
It sounds great, but Immich wouldn't be the first to go back on such promises when it becomes convenient. Hopefully thanks to funding via FUTO it might not ever happen, but who knows. Appreciate they write it out, but it is not like that is legally binding.
Home assistant is still clean years after introducing nabu casa
I really like where immich is headed. Bought a license last week and finally deleted Google Photos.
You mean you deleted App-Which-Shall-Not-Be-Named?
Edit: I'm just using the same terminology they use in their docs...
1,337 days
π«‘
Leet
And before GTA VI.
Love it. Lol.
This is fantastic to see, but I recently moved away from Immich with heavy heart because of a simple issue.
I have a very minimal setup with just a RasberryPi and an external hard drive, I don't need to access anything from outside my home so it is not setup to be accessible via internet, just Wifi.
Since I am not home all the time I set it up that the hard drive goes to sleep after an hour or so of inactivity. It is not unusal that this means it gets to be in sleep mode for 8-10 hours once or twice per day, which I'd assume is better for its life expectancy.
Since an update this year though something changed for Immich, I think it was connected to the postgres database... sorry, don't remember fully since this was like 2 months ago. It would keep checking or writing on the drive and thus keep it awake the entire day. 24/7.
I found some issues on github that mentioned this from months ago and they didn't come to a good conclusion how to solve this, so unless this is adressed I cannot use Immich, sadly. Putting postgres on the SD card instead would probably suck for how long that one will be alive.
Edit: if anyone is interested, here is one issue I found on github that describes this https://github.com/immich-app/immich/issues/15918
Edit2: found another https://github.com/immich-app/immich/issues/11569 Apparently it was healthchecks and I didn't test if that would solve the issue for me, I might try again with a small setup.
it gets to be in sleep mode for 8-10 hours once or twice per day, which I'd assume is better for its life expectancy.
It's actually the opposite.
How so?
Spinning up and down puts parts under more stress than simply spinning constantly, assuming vibrations are minimal. Basically repeated changes in velocity are bad for mechanical parts, compared to just spinning at a constant rate.
Thank you for giving an actual answer. But this makes me wonder, there must be some middle ground where spinning it down is not worse than keeping it running. E.g. only spinning down and up once a day or once every few hours, is there any data for that you know of?
Hard drives are so variable and failures so unpredictable, I bet you can't find that information. Most of the actual data about hard drive failures, like Backblaze's reports, are for drives that don't spin down.
That said, spin-down has always been used for saving power, not drive lifetime. I would generally assume spinning down never extends lifetime. Even in the case of an external hard drive you plug in once a month - it is very likely going to fail earlier than the drive spinning 24x7.
Also, I wouldn't shy from keeping the database on the same, fast storage as the OS, even if that's flash. Move to an external SSD when you can. HDDs have such long seek times.
Welp, TIL, thanks everyone for the useful detailed answers.
Hard disks are designed to do one thing and thatβs spin, keeping a disk running 24/7 is the best case scenario for itβs longevity
Awesome! But damn, I just installed v1.144.1
last night to play around with it. π
If you're running it via docker compose it's trivial to upgrade, and there are no breaking changes. Pull, down, up, you're done.
Iirc, 2.0 is more of a symbolic release rather than any big changes
Bro 2.0 came so fast I didn't even have time to do 144, like why did they even bother releasing that when 2.0 was coming the very next day lol
Different release news
I'm excited for the roadmap of better sharing, group management and improved ownership. Unfortunately in its current state having a shared "family" library of pictures next to personal pictures is only possible with various workarounds (and all of those have significant downsides). Until then I'm just using it for myself, but it's been great so far.
Indeed, it's the top issue for number of comments: https://github.com/immich-app/immich/issues/12614
That and this one are really what keeps me stuck in "evaluating": https://github.com/immich-app/immich/issues/165
Right now, immich just points at a read-only copy of my pictures for trying things out. Nextcloud copies the pictures off device and then deletes them locally -necessary for family who always take long sports videos.