2023-08-02 11:32:54 +00:00
|
|
|
# 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
|
|
|
|
```
|
|
|
|
|
2023-08-06 20:38:24 +00:00
|
|
|
## Rescan Files
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo -u nextcloud nextcloud-occ files:scan --all
|
|
|
|
```
|
|
|
|
|
2023-08-02 12:26:45 +00:00
|
|
|
## Converting from SQLite to MySQL (mariadb)
|
2023-08-02 11:32:54 +00:00
|
|
|
|
|
|
|
First: keep Nextcloud set to SQLite as its dbtype, and separately launch MySQL
|
|
|
|
as a service by copying the configuration found
|
|
|
|
[here](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/nextcloud.nix).
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
```sql
|
|
|
|
create database nextcloud;
|
|
|
|
```
|
|
|
|
|
|
|
|
Now setup the [conversion](https://docs.nextcloud.com/server/17/admin_manual/configuration_database/db_conversion.html):
|
|
|
|
|
|
|
|
```
|
|
|
|
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.
|
2023-08-02 12:26:45 +00:00
|
|
|
|
|
|
|
Now, make sure to enable [4-byte
|
|
|
|
support](https://docs.nextcloud.com/server/latest/admin_manual/configuration_database/mysql_4byte_support.html)
|
|
|
|
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
|
|
|
|
```
|
|
|
|
|
2024-02-25 22:31:02 +00:00
|
|
|
## 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
|
|
|
|
```
|