casaos promised me a homelab. it gave me a headache.
selfhosted, homelab, dev, hot topicthe pitch is great. seriously. plug in your mini PC, run one curl command, and suddenly you've got this slick little dashboard with a built-in app store. click install on Immich. click install on Jellyfin. done. you're a homelabber now, congratulations.
except it doesn't work like that.
the app store is a lie (kinda)
i've been through the CasaOS experience and i'm not going back. the app store looks clean, the icons are nice, everything feels approachable. and then you actually install something and you realize the versions are outdated, the configs are half-baked, and good luck figuring out where CasaOS actually put your data when something breaks.
Immich was the one that really got me. not minor quirks, not a config tweak. fully broken. spent an evening digging through logs trying to figure out what CasaOS's wrapper was doing wrong, realized the compose file it was shipping was months out of date, and eventually just nuked the whole thing and redid it myself with docker compose. which is what i should have done from the start.
the fun part is that doing it properly took like 20 minutes. the CasaOS version ate my entire evening.
and getting to your files from outside the CasaOS bubble is its own special kind of painful. the file manager is bad and the whole thing just assumes you'll only ever interact with your data through its UI. that's fine until it isn't.
who is this actually for
this is the thing i can't figure out. CasaOS markets itself as the easy option for people who don't want to deal with the command line. fine. but if something breaks, and it will, those same people are completely stranded. no good error messaging, open bugs on GitHub that have been sitting there for months, and an abstraction layer that hides just enough to make debugging a nightmare.
if you already know what you're doing, you don't need CasaOS. if you don't know what you're doing, CasaOS will work fine until it doesn't, and then you're in trouble.
just learn docker compose
i know this sounds like "just use arch btw" energy but hear me out. a basic docker compose file for Immich is well-documented, official, and maintained by the actual Immich team. you know exactly what ports are mapped, exactly where your volumes are, exactly what version you're running. when something breaks you can actually debug it. when a new version drops you update one line and run `docker compose pull`.
no dashboard, no app store, no mystery. just a yml file that does what it says.
CasaOS is trying to abstract away the complexity of self-hosting, which is a nice idea. but the abstraction leaks constantly, and when it does you end up needing to understand the underlying stuff anyway. except now you also have to understand CasaOS on top of it. that's not simplicity, that's just more complexity with a prettier icon pack.
if you're just getting into homelabbing and someone tells you to start with CasaOS, maybe don't. spend an afternoon with docker compose instead. you'll thank yourself the first time something goes wrong.