Nextcloud asked in a poll at https://mastodon.social/@nextcloud@mastodon.xyz/115095096413238457 what database its users are running. Interestingly one fifth replied they don’t know. Should people know better where their data is stored, or is it a good thing everything is running so smoothly people don’t need to know what their software stack is built upon?
East or West, SQLite is the best.
Whatever the docker compose file that I found had
“18% of car owners don’t know their brake fluid DOT rating.”
What’s a computer ?
. >18% of people running next cloud are not backing it up.
This is a fallacious. If you have a very small set of users, what exact data is in the database that you would be upset at losing? Maybe your contacts and your calendar. Which you could back up manually, which might actually be simpler than backing up the database.
That is actually good news. Means that people more likely to be “normies” are adopting an alternative solution.
I can confirm I’m a newer user (not a normie) to Nextcloud and I don’t know or really care what it uses because it works so I haven’t had to learn what it is or how to debug it.
I have five users, max, and barely any files. I don’t know which one Nextcloud AIO uses and I don’t care. There’s no wrong answer for such a small deployment. It uses whatever database Nextcloud felt was sensible as the default. They know more about picking the right tool for their requirements than I do.
If I’m building something for myself, then I care.
TIL that NextCloud can use an external database.
Are you still using sqlite?
I set up everything I use “bare metal” or at least in an lxc container I directly build and maintain, but most people don’t. Makes a lot of sense, to be honest. A lot of prepackaged software uses databases and nobody has to care exactly what it’s up to.
Theres heaps of hosted nextcloud services. Those users wouldn’t know.
Where’s the option for “what’s a database?”
Agree - I’m sharing files, not databases…
I’m not even sharing files, I’m sharing mp3’s and some zips. Duh.
Nextcloud is pushed as an easy to use docker setup these days, heck most people I know who “use” it don’t do much with it at all so what database it is using is gonna be way back in their list of priorities…
Plus the users outweigh the admins surely (as in those that just install then forget)I write software for a living, and have worked with all 3 database options in the past. I don’t know what DB backend my nextcloud server is using, nor do I care.
Yeah, that is the kind of concern for the service developer or a very opinionated sys admin. For self-hosting, few people will reach the workload where such a decision has any material or measurable impact.
Exactly. Unless you are actively doing maintenance, there is no need to remember what DB you are using. It took me 3 minutes just to remember my nextcloud setup since it’s fully automated.
It’s the whole point of using tiered services. You look at stuff at the layer you are on. Do you also worry about your wifi link-level retransmissions when you are running curl?
Sorry for the newbie question, but how is your nextcloud setup automated? Is that like a compose/yaml file?
stares at 300 line shell script+ansible mess that updates/sets up Forgejo, Nextcloud, ghostcms
“Yes… It’s automated”
Self hosting doesn’t mean “being wasteful and letting containers duplicate services”. I want to know which DB application X is using, so I pool it for applications Y and Z.
This is one of my pet peeves with containerized services, like why would I want to run three or four instances of mariadb? I get it, from the perspective of the packagers, who want a ‘just works’ solution to distribute, but if I’m trying to run simple services on a 4 GB RPi or a 2 GB VPS, then replicating dbs makes a difference. It took a while, but I did, eventually, get those dockers configured to use a single db backend, but I feel like that completely negated the ‘easy to set up and maintain’ rationale for containers.
Precisely what pre-devops sysadmins were saying when containers were becoming trendy. You are just pushing the complexity elsewhere, and creating novel classes of problems for yourself (keeping your BoM in control and minimal is one of many others that got thrown away)
For most applications the overhead of running a second DB server is negligible.
I disagree. You are just entertaining the idea that servers must always and forever be oversized, that’s the definition of wasteful (and environmentally irresponsible). Unless you are firing-up and throwing-away services constantly, nothing justifies this and sparing the relatively low effort it is to deploy your infrastructure knowingly.
Do you have the data to back that up? Have you measured how much of an impact on system load and power consumption having 2 separate DB processes has?
Roughly the same amount of work is being done by the CPU if you split your DBs between 2 servers or just use one. There might be a slight increase in memory usage, but that would only matter in a few niche applications and wouldn’t affect environmental impact.
And if it’s SQLite (which I believe is the default) it’s really just reading and writing a file on the file system.
If you’re running it in a prebuilt container, as long as it works it shouldn’t matter and you don’t need to care.
Of course, when your database gets corrupted after Nextcloud updates because you had an app running that isn’t supported in the new version, it will suddenly matter a lot.
And if you don’t know what database you’re running, how are you backing it up?
If you don’t know what database you’re running, are you bothering to do a full shutdown before backups? Are you doing backups at all…
Exactly. It’s not important … until it is. :D
I‘m using a hosted Nextcloud instance from Hetzner and I have no idea what this is running on either. There’s a significant number of people who didn’t set up their Nextcloud instance, so people not knowing what it’s running on isn’t too surprising.
Will Nextcloud run apps not marked as compatible with that version?
Bugs still happen. Just did with the most recent version and the polls app and mysql
You can specify the behavior in a few places, gui, occ command, config.php. By default no, but if you have an app you want to force in regardless of the version compatibility you can make it so https://help.nextcloud.com/t/help-what-is-app-install-overwrite-for/71523
No.
I mean… I set it up many many years ago… Without looking it up I can also just guess.