Nextcloud in a cloud vm

I like to install my nextcloud on a docker host.
So there are containers for db and nextcloud. But they need space and therefore I mounted the storage as NFS. Which was obvously a bad idea cos the mariadb needs specific access rights and so.

Thats brings me to the question. How can I install a Host with maria and nextcloud as cloud application server with an storage backend. DO I need really need iscsi ? Or is samba enough ?

The idea behind this is that I can bring up the server quit simple on another vm if the original host will be down. The storage for DB and DATA is georedundant but the the containers can only be simple recreated and started on another host if the space is mounted.

Any existing documentation for such ?

This is a serious architecture question that can’t readily be answered in a forum thread. There are a lot of possible approaches with various trade-offs (and costs) depending on your RTO needs (and budgets and internal capabilities).

The overarching components that contain data are:

  1. Nextcloud - app code [easy and basically covered by Docker]
  2. Nextcloud - configuration file(s) and installed apps [fairly easily handled… for the most part]
  3. Nextcloud - user files (stored either as actual files on an underlying OS/host provided filesystem which can be provided to the OS and, in turn, NC in a gazillion ways or stored in an Object Store such as an external S3 store with NC configured to directly access it) [utilizing NC’s existing Primary Storage object storage support would probably be the path of least resistance here]
  4. Database - All sorts of critical NC data [

Some of these are not NC specific at a high level, but there are some approaches that make more sense for NC than others.

If this is for a business setting, I’d encourage you to reach out to Nextcloud GmbH. This seems more appropriate for a pre-sale consult or proof of concept discussion through them or one of their partners.

If you’re planning on doing this yourself, I would recommend you read up extensively on MariaDB/MySQL administration. That or you outsource the failover/recovery aspects of the db to, say, a cloud provider that specializes in this.

Some other random things to check out/consider:

  • DRBD
  • MariaDB replication and clustering
1 Like