Edit: Thanks to everyone who commented and helped with suggestions! I moved to Debian + Docker compose only and everything went well and it’s working perfectly!

TLDR: want to get rid of casaos from my home server and learn everything on my own from the beginning, am I crazy for wanting to wipe everything and reinstall the entire system?

Hi all! A few weeks ago I got a mini-pc (Beelink S12pro), a secondary internal sata ssd (thanks to those who helped me with the choice), and I slowly set up my server with quite a few services (the *arrs, jellyfin, immich, navidrome, gotify, uptime-kuma etc.) using casaos as overlay for everything (with Debian 12 as base and tailscale to access it outside my home). I like casaos interface, and it really helped me a lot in smoothing the process of approaching docker and managing a personal server.

However, I am starting to feel a bit restricted by casaos: almost immediately I was bypassing the 1-button install and customize the container to my liking, also if I need to change something deeper I always need to check if casaos has its own way of handling things. Plus, I don’t really like the frequent connections to the app store (and I couldn’t figure out how to change the interval), or the fact that everything casaos does is done as root, which also forced me to run some containers as root user. My server isn’t exposed to the internet so I can be less worried, but I would like to know more about permissions and stuff without being forced to just run everything as root.

Removing casaos is apparently quite easy with an uninstall script, you can also keep your containers intact, however it will leave behind a lot of the dependencies installed and modification made through the install script, apparently.

I don’t think these modifications will not be useful to me, but I would like to have a system when I know what I did, what is opened/installed/activated and what is not, and by just uninstalling casaos I will not have that. Note that I am also not against UIs, I think I will install dockge for easier managment of containers, but I would like the process to be learn->setup->use ui, and not the other way around.

Am I crazy for thinking about reinstalling the entire system and start from scratch? I have backups of everything: container data folders, compose files, various media. TBH, in one week of use there are not many things that are absolutely vital, moreover, most of the media are in the secondary drive which will be left untouched. Worst case scenario, I can also avoid restoring backups (except for the arrs which were the more time-consuming to set up).

In my mind these are the pros and cons

Pros: install stuff as needed and learn what does what, without having a script automagically doing that for me, probably gaining a deeper dive into docker/compose. No overlay, no mandatory root things, possibly less maintenance?

Cons: having to set things up again (system users, ssh access, tailscale, automount usb drives, mount points for the sata drive), possibly some container stuff will not just work by re-importing from a backup?

Does the selfhosted community have some advices or opinion on this? Maybe there are also easier ways I am missing, being kind of new to all this. Thanks in advance for any answer!

    • whysofurious@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      Nice to know that someone did the same move, and happy that it went well :) did you have anything specific to remove from the CasaOS compose files? (I know they fill it with a lot of stuff useful for their categorization)

      • Dust0741@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 days ago

        Not really. I also didn’t have much data in them, so I opted to start from scratch. I’d recomend searching for “service docker” to find how to run that thing in dockers compose. Then I make a folder for each thing. In my home directory, I make a new folder. Say fileBrowser. Then inside that I make docker-compose.yml and put the compose from the internet (if you find a docker run, you can convert it to compose via sites like composerizer). Then for config volumes I like to specify ./ so it goes to the current folder. I.e. ./filebrowserconfig/settings.json:/settings.json so that inside the fileBrowser folder we’re already in, it has a folder called filebrowserconfig and a file called settings.json. (note that docker tries to make folders, not files. So if the json file doesn’t already exist, it’ll make a folder named settings.json lol)

        • whysofurious@sopuli.xyzOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          Yup I read about the folder thing but got stung by it as well ahah

          Thank for taking the time to explain, I am almost done with the transition of all my services and I did exactly like you suggested and everything works perfecty! :)