dotfiles/docs/repair-nextcloud.md
2024-02-25 22:31:02 +00:00

2.0 KiB

Repairing Nextcloud

You can run the maintenance commands like this:

sudo -u nextcloud nextcloud-occ maintenance:mode --on
sudo -u nextcloud nextcloud-occ maintenance:repair
sudo -u nextcloud nextcloud-occ maintenance:mode --off

Rescan Files

sudo -u nextcloud nextcloud-occ files:scan --all

Converting from SQLite to MySQL (mariadb)

First: keep Nextcloud set to SQLite as its dbtype, and separately launch MySQL as a service by copying the configuration found here.

No password is necessary, since the user-based auth works with UNIX sockets.

You can connect to the MySQL instance like this:

sudo -u nextcloud mysql -S /run/mysqld/mysqld.sock

Create a blank database for Nextcloud:

create database nextcloud;

Now setup the conversion:

sudo -u nextcloud nextcloud-occ db:convert-type mysql nextcloud localhost nextcloud

Ignore the password prompt. Proceed with the conversion.

Now config.php will be updated but the override config from NixOS will not be. Now update your NixOS configuration:

  • Remove the mysql service you created.
  • Set dbtype to mysql.
  • Set database.createLocally to true.

Rebuild your configuration.

Now, make sure to enable 4-byte support in the database.

Backing Up MySQL Database

Use this mysqldump command:

sudo -u nextcloud mysqldump -S /run/mysqld/mysqld.sock --default-character-set=utf8mb4 nextcloud > backup.sql

Converting to Postgres

Same as MySQL, but run this command instead:

sudo -u nextcloud nextcloud-occ db:convert-type pgsql nextcloud /run/postgresql/ nextcloud

Then set the dbtype to pgsql.

Backing Up Postgres Database

Use this pg_dump command:

sudo -u nextcloud pg_dump nextcloud > backup.sql