Hi, i’m into programming, sexual transmutation and psychedelics!
Enough focus to read documentation.
That’s really it. If your purpose is just self hosting learning bash could also be helpful. And yeah Linux would be a great choice.
But mostly, if you want to self host an instance of Nextcloud correctly and without having to deal with too many unexpected things, you have to read the documentation and do not rush. Most self hosted stuff isn’t “install and use”, because you’ll be your own server manager, and everything requires attention to be managed.
Docker or not docker you will have to deal with configuration, settings, requirements and updates.
So understanding how to read the docs/search and open github issues and taking time to read everything would be the most important skill for me.
Also writing down what you are doing would indeed be helpful too, in order not to lose track of what you’re doing on your server. (Check out Ansible).
Most apps out there simply need you to know about permissions, systemctl services and package managers.
Try to always find a specific package for your distro for everything you install (eg. .deb for Debian), and have strategies when this is not possible (aka using a Python venv when installing python programs).
And that would be enough to bypass root settings?
If someone wants to prevent users to mess with the system should he just disallow downloads entirely/confine the user into an intranet?