I dunno why but I’m worried that casaos is holding me back from doing greater things I guess? I’m pretty new to self hosting and I discovered casaos from a Minecraft server setup tutorial of all things and it’s been great for me so far and does pretty much everything I need it to do, but I feel like I don’t really have a full understanding of what I can do outside of it, and I don’t really hear many people talk about casaos so I’m like worried it’s just not very good I guess? I’m just looking for ways to improve really.
For reference I just use my server for Minecraft on the occasion, a self hosted obsidian live sync, adguard, and in the future plan on hosting nextcloud. Casaos seems great for that and maybe it’s perfectly fine but I’d just be interested in being more knowledgeable I guess, and aware of any ways to improve.
A few years ago I got a laptop with a busted video output, installed CasaOS and that kicked off a learning experience that continues to this day. I’m now running a 2 node proxmox deployment with several LXC containers and a HomeAssistant VM. I self-host most of my stuff for me and my family.
If it wasn’t for CasaOS, I’d probably had tried proxmox and fled in horror of the difficulty to grasp what it’s doing.
Also IIRC Casa now uses proper docker-compose exports, while I was using it, it was a self-rolled json file you couldn’t really import on other platforms. So enjoy Casa, and when you feel like it’s hindering your learning or desires, jump to portainer and import your stuff with just a few clicks.
For reference, here’s some of the stuff I’ve been hosting:
-
NextCloud AIO for document syncing across machines, backups and contacts/calendars/todo via DavX5 on android devices
-
immich replaces google Photos so I don’t have to ever “solve” a storage issue for any family member getting those googleOne popups
-
HomeAssistant is still a rabbit hole on it’s own, but I love tinkering and automating stuff
-
Paperless-ngx solved my download folder always full of random invoice PDFs as well as referencing documents and manuals
-
Jellyfin is not only on my main TV but also my hifi music source for mobile devices and standalone speakers
-
Portainer makes it super easy to spin up game servers for me and my friends in a few clicks
-
PiHole+Unbound makes surfing the web bareable again
And a bunch more I use on and off, like NetAlertX to map and check on my network stats, Navidrome for older devices (like iPad2) music streaming, etc
-
deleted by creator
Was the first car you drove a Lamborghini or an f1 car? K.I.S.S. Is definitely a good thing when learning. If it works and does what you need it to, then use it till you learned how it works and want to try the next challenge.
As far as I know, CasaOS (same as Cockpit) is installed on top of a default OS install, so you could always access the OS directly to install/configure things outside of it, if the need arises.
I would not say you would be held back by it, if it does what you need. And for what I can see online, you can install any docker container even if it’s not on the default catalog of CasaOS, or access the OS.
If you want to grow your knowledge of how things work, or how to deploy services without CasaOS, you can always do so in parallel of using CasaOS, so I don’t see where the issue could be.
Stop worrying about stuff like this.
Does it do what you need?
Does it fail where you need it?
Then start asking that question. Don’t be OCD about it. It’s an automation suite. Chill.
Disagree. There should be a few more questions as well:
- if development stops, what are my alternatives and how hard is the migration process?
- how responsive are the devs to patching vulnerabilities?
- if I need more software down the line, how do I get it? What if it’s not in the repos?
- how is the documentation and community? If something breaks, how likely am I to find a fix?
Look beyond initial setup and think about what happens after a couple years.
Agreed. Only two reasons to consider this question:
- Do I want to do something it can’t?
- Do I just want to learn something new?
I say spin up Proxmox, a Debian LXC, install portainer on that container, and then you have something way more customizable. You’ll learn a lot more that way.
Seconded, but dockge over portainer.
Oh yeah, Portainer just to manage Docker containers. But they should probably just start with Docker to better understand it.
Well I say dockge over container because dockge is just an easier way to manage compose files whereas container does some weird shit sometimes.
I don’t see any truenas or unRAID, I think they would be a step up in complexity before going to proxmox imo
As some said, it’s fine!
I have it installed on my raspberry pi to run Jellyfin and a few other apps, and it’s been mostly stable. However I’ve had the same thoughts as you, so I can confirm that you won’t be able to learn as much with it.
Some of my other needs are hosted on a VPS without CasaOS, and that’s where I was able to learn most of what I know. It’s also where I spent the most time configuring and fixing incompatibilities.
I’d suggest that you keep CasaOS for the things you want to depend on, and start learning on another system without CasaOS by installing apps you’re interested to try out. This way you’ll learn about reverse proxies, certificates, docker, etc, without being afraid to mess up your current setup.
If you want to learn more, then you will need to move away from casa. Casa is pretty much just a collection of custom docker images that play well together and with their interface. You could grab an old computer, install Linux, and do more but you would expend more time and effort.
Serious question: last I looked at casaOS (because I liked the hardware), they had SSH open and accessible to default passwords by default. This scared me off hard.
Is this still a thing/are there other glaring security holes?
I don’t know if they changed it by now, but unRAID was the same when I tested it back in 2019. I wish they did things differently but both are products designed to be deployed and ran by hobbyists in a local network, so it makes somewhat sense.
I could get the “default” to facilitate setup, but as far as I’m concerned it’s seriously fucked not to have the first step of your script be replacing it with the user’s own choices. It’s really hard for me to trust the security as a whole of a project that does that by default, especially because it’s intended to be for inexperienced users and there was no indication during the setup process or other included information that that was the case.
CasaOS is fine, but the downside of tools like it is you don’t really know what’s going on under the hood, so if/when something breaks it may be really hard to fix.
But if it works for you I don’t see a reason to change. Just make sure you’ve got reliable backups following the 3-2-1 rule.
What exactly is the 321 rule?
3 copies, 2 media, 1 off-site
It’s basically the minimum level of redundancy you should have for storing important data.
3 total copies, 2 different types of storage, 1 of them offsite.
Backups also need to be tested like twice a year or so, do a restore as a test (full if you can, but partial is something at least) and make sure the data is what you expect.
If that’s what you are doing there is definitely heaps more you can do with casaOS.
The apps are basically docker made easy and it has a lot of connections that are hidden behind ease of use menus.
What do you think you are missing out of aside from more explicit controls?
Just looking at their website makes me not want to use it because it doesn’t give any details as to what it actually is.
Yeah, what is it based on? Debian? Fedora? Something custom?
My systems use openSUSE, and I could switch to Fedora or Debian without much issue if openSUSE dies.
If it’s not clear, I don’t use it. What happens if there’s a critical vulnerability or the project stalls? How would I migrate my stuff to something else? What if I need some wonky software not in the repos?
From what I understand: CasaOS is simply an abstraction layer and takes away a lot of the manual work.
I agree with you that this shows down learning quite a bit.
I see three ways forward for you:
a) switch to a Linux base system, Debian, arch, nixos, whatever resonates and set up everything from scratch. High learning curve but no more hidden things.
b) same as a but as a separate setup. This is what I would recommend if you have the time and cash. Replicate what’s already working and compare.
c) figure out how to do things manually within the CasaOS framework. Can’t help you there though :)
Having a solution that works for you is never a bad thing.
Now it comes down to what you want to archive: Do you want something that just works? Great, you’re done - now go on and do some other things that you like, that’s perfectly fine. Or do you want to learn more about servers, virtualization, linux, networking and selfhosting in general? Then there are a million ways to get started.
I’d suggest to setup a little lab, if you haven’t already. Install Proxmox on your server and run CasaOS inside a virtual machine. Now you’ve learned about hypervisors and virtual machines. Afterwards you could create a second virtual machine to play around - maybe install debian and get used to the linux cli. Install docker manually, run some apps using docker-compose. Now you’re already doing some stuff that CasaOS does under the hood.
The possibilities are endless, the rabbit hole is deep. It can be a lot of fun, but don’t force youself to go down there if you don’t want to.
I second this - virtualization is the easiest way to branch out and try new things. You can keep the working system you already have, and also experiment with other systems.
A further advantage is that you can run services in separate VMs, which helps if you need isolated contexts for security, privacy, or stability reasons. And, if you break something while you’re learning you can just delete that VM and start over without affecting your other working services.