diff --git a/docs/repair-nextcloud.md b/docs/repair-nextcloud.md index b624e3b..a830883 100644 --- a/docs/repair-nextcloud.md +++ b/docs/repair-nextcloud.md @@ -8,7 +8,7 @@ sudo -u nextcloud nextcloud-occ maintenance:repair sudo -u nextcloud nextcloud-occ maintenance:mode --off ``` -Converting from SQLite to MySQL (mariadb) +## 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 @@ -44,3 +44,16 @@ be. Now update your NixOS configuration: - Set `database.createLocally` to `true`. Rebuild your configuration. + +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 +``` + diff --git a/modules/nixos/services/nextcloud.nix b/modules/nixos/services/nextcloud.nix index 4d5bbf6..f0e99c3 100644 --- a/modules/nixos/services/nextcloud.nix +++ b/modules/nixos/services/nextcloud.nix @@ -17,6 +17,25 @@ trustedProxies = [ "127.0.0.1" ]; }; extraOptions = { default_phone_region = "US"; }; + extraAppsEnable = true; + extraApps = with config.services.nextcloud.package.packages.apps; { + inherit calendar contacts; + news = pkgs.fetchNextcloudApp { + url = + "https://github.com/nextcloud/news/releases/download/22.0.0/news.tar.gz"; + sha256 = "sha256-hhXPEITSbCiFs0o+TOsQnSasXBpjU9mA/OFsbzuaCPw="; + }; + external = pkgs.fetchNextcloudApp { + url = + "https://github.com/nextcloud-releases/external/releases/download/v5.2.0/external-v5.2.0.tar.gz"; + sha256 = "sha256-gY1nxqK/pHfoxW/9mE7DFtNawgdEV7a4OXpscWY14yk="; + }; + cookbook = pkgs.fetchNextcloudApp { + url = + "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz"; + sha256 = "sha256-XgBwUr26qW6wvqhrnhhhhcN4wkI+eXDHnNSm1HDbP6M="; + }; + }; }; # Don't let Nginx use main ports (using Caddy instead)