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?
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.
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.
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…
The poll did not ask specifically for self-hosted instances. You know you can buy hosted Nextclouds where the service provider hopefully cares for that stuff? So customers wouldn’t know which database they use. I don’t know which database my mail provider uses ¯\_(ツ)_/¯
Fair enough, I did assume the target audience was selfhosters based on the question.
As for provider backups - well, you’d hope. But M$ doesn’t do user available backups, so I’d be surprised if that was bundled by the average SaaS provider.
Exactly. It’s not important … until it is. :D
If you’re using the AIO image, backup/restore can handled for you, so no need to worry about the manual steps involved. Or if you’re using a VM, a backup can take the form of full system snapshots, so also no need to understand how data are stored. Granted it’s always helpful to know what your running, but not necessarily requisite, even for backups.
Will Nextcloud run apps not marked as compatible with that version?
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.
Bugs still happen. Just did with the most recent version and the polls app and mysql
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.
For most applications the overhead of running a second DB server is negligible.
And if it’s SQLite (which I believe is the default) it’s really just reading and writing a file on the file system.
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.
Do you have the data to back that up?
I mean, you are the one making the exceptional claim that unnecessarily running multiple instances of programs on a device with finite resources has no practical adverse effect. Of course, the effects can be more or less drastic depending on the many variables at play (hardware, software, memory pressure, thread starvation, cache misses, …) and can indeed be negligible in some lucky circumstances. The point is that you don’t call that shot, and especially not by burying your head in the sand and pretending it’s never gonna be a problem.
Effective use of computing resources requires tuning. Introduction of a new service creates imbalance. Ensuring that the server performs nominally and predictably for all intended services is a balancing act and a sysadmin’s job. Services whose deployment settings are set by someone with no prior knowledge of the deployment constraints can’t be trusted to do a good job at it (that’s the nature of the physical world we live in, not my opinion), and promoting this attitude promote the kind of wasteful and irresponsible computing I was on about.
Now, I’ll give you the link to this basic helper for tuning a PostgreSQL server: https://pgtune.leopard.in.ua/
Will you tell me what are the correct inputs for my homelab (I won’t tell you the hardware, the set-up, the other services running on it, the state of the system, etc)?
And later, when you will distribute your successful container to millions of users, what will you respond to the angry ones that will complain that your software is slow, to no fault of your coding, because they happen to pile up multiple DBs, web servers, application servers, reverse proxies, … on their banana SoCs?I’m saying this based on real world experience: after a certain point you start to see deminishing returns when optimizing a system, and you’re better off focusing your efforts elsewhere. For most applications, customizing containerized services to share databases is far past that point.
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)
There could be multiple factors. For example, I have a Nextcloud instance that is fully managed by Hetzner, and I didn’t bother to find out what database it uses…
Honestly I’m more concerned about those willingly using sqlite.
Unless it has changed a lot over the years, I remember it being orders of magnitude better with MariaDB than sqlite.
SQLite is fine for small amounts of data and very few users. The bottleneck with Nextcloud is almost never the database.
SQLite has made huge performance improvements in the last like 3-5 years.
I wouldn’t spin up an enterprise NextCloud with it but for a home NAS serving up to maybe a dozen people it’s more than enough.
Maybe it’s that. I haven’t truly used it in 7-8 years… Both next cloud and airflow were horrible with sqlite back then, even for single user small instances.
Will have to try again
Who cares.
I’m only on MariaDB because I have brain worms, I have so little data on there SQLite would have been fine. 🪱 🪱 🪱Exactly. Who gives a shit?
I mean… I could recite the exact setup of mine in detail, but I’d probably be happier if my brain matter was dedicated to something else. Do not shame the ignorant. Envy them.
I use Postgres, because MySQL touched me inappropriately as a kid and MariaDB is too similar. Oh, and also because it’s what I use at work.
SQLite actually has incredible performance these days. But I get your point :)
Honestly I think if there is a hope for greater detach from “The Cloud” more broadly, it’s a testament to nextcloud that folks that don’t even know enough to know what DB they are running are able to run a server, and host things well enough to consider themselves users.
shhh
This statement brought was to you by someone that set up nextcloud and had no clue what DB it was using.
That’s how I’d answer if I set something up years ago and it was stable and never required me to come tinker with it.
What’s a computer ?
my computer is really slow. where can i download more rams?
Enable hugepage allocation, it will deduplicate memory chunks and save you lotsaram Especially good with an hypervisor desktop
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.
Whatever the docker compose file that I found had
The more shocking is that one guy who KNOWS it’s sqlite, but ain’t afraid to admit it!
sqlite is absolutely awesome
And there is the single vote…
😜
Since Nextcloud stores your actually data on the disk, it doesn’t actually matter all that much tbh
Every person using a computer should know what their filesystem is and what database they are using. Otherwise they are fools.
Can you believe kids don’t know what NTFS or APFS are these days?! Stupid iPad babies.
Wait is APFS a new file system than NTFS? Guess I’m too busy on my Tiktoks and Nintendos to keep up to date
Apple file system
Ewww…
Look into it, it’s pretty good.
And Apple updated hundreds of millions of devices to it from an old file system without losing any data. Imagine Microsoft pulling off such a migration. It was silently done in the background with a normal OS update. Really impressive.
No, it’s garbage because of its approach to case sensitivity.
It’s case insensitive by default (which is a WTF in itself and encourages the same laziness Windows users thrive on with NTFS) but it also has a case sensitive mode.
Except the case sensitive mode is almost entirely useless because of the amount of apps it breaks that assume the default case-insensitive mode. It also means that you as a programmer have to add extra crap to your file handling code for case insensitive string comparisons if you want to support both modes
Ah that would explain why I didn’t know. I have next to no experience with Apple devices.
Damn kids with your twitternets and me mes.
It’s used on popular toys and consumer gadgets. Most well to do tech nerds don’t bother with such riff raff either.
Armor piercing fin stabilized.

That kid is never going to figure out if they downloaded the assignment pdf to “Downloads (iPad)” or “Downloads (iCloud)”
Holy Poe’s Law…
Haha at some point it did matter to regular folks though. I remember in Junior high when I would try to pirate games or software on Windows, I learned the big difference between fat32 and the new filesystem Microsoft released, NTFS because I couldn’t download files larger than 4GB on fat32.
It’s important if you’re using flash drives across platforms though that’s pretty rare these days too. My wife has run into this problem by formatting as ExFAT (GUID partition table) when print shops’ terrible machines only support FAT32 and/or MBR partition tables.
Thankfully macOS at home understands ExFAT otherwise those formatted drives from her Windows work computer wouldn’t even work.
I still have a FAT32 external drive that this (very) rarely still bites me 😫 there’s nothing important on it, so I’ve been lazy

At that point, were you regular folks though?
FAT32 is still a very common filesystem for flash drives and memory cards because it works on everything. Lots of people are likely to run into the 4GB file size limit.
True, I guess not. But piracy was big at that age group because we were kids who didn’t have our own money, so if our parents didn’t buy the games we wanted, people would try to download them instead. So I fell into learning this detail by necesssity instead of out of pure curiosity or desire to learn more about the computer. I wanted to download Neverwinter Nights or whatever game, and fat32 was standing in my way, haha
I remember having to open “.zip.1” files lol. From the split zips.
Sir, this is a Wendy’s :)
Kids don’t event know the folder struture of their Home directory, so why would they know what a File System is? Lol
East or West, SQLite is the best.
TIL that NextCloud can use an external database.
Are you still using sqlite?
Aren’t you? WAL mode has made SQLite better than the alternatives at this point.



















