···221221222222- `mastodon` now supports connection to a remote `PostgreSQL` database.
223223224224+- `nextcloud` has an option to enable SSE-C in S3.
225225+224226- `services.peertube` now requires you to specify the secret file `secrets.secretsFile`. It can be generated by running `openssl rand -hex 32`.
225227 Before upgrading, read the release notes for PeerTube:
226228 - [Release v5.0.0](https://github.com/Chocobozzz/PeerTube/releases/tag/v5.0.0)
+22
nixos/modules/services/web-apps/nextcloud.nix
···514514 `http://hostname.domain/bucket` instead.
515515 '';
516516 };
517517+ sseCKeyFile = mkOption {
518518+ type = types.nullOr types.path;
519519+ default = null;
520520+ example = "/var/nextcloud-objectstore-s3-sse-c-key";
521521+ description = lib.mdDoc ''
522522+ If provided this is the full path to a file that contains the key
523523+ to enable [server-side encryption with customer-provided keys][1]
524524+ (SSE-C).
525525+526526+ The file must contain a random 32-byte key encoded as a base64
527527+ string, e.g. generated with the command
528528+529529+ ```
530530+ openssl rand 32 | base64
531531+ ```
532532+533533+ Must be readable by user `nextcloud`.
534534+535535+ [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
536536+ '';
537537+ };
517538 };
518539 };
519540 };
···773794 'use_ssl' => ${boolToString s3.useSsl},
774795 ${optionalString (s3.region != null) "'region' => '${s3.region}',"}
775796 'use_path_style' => ${boolToString s3.usePathStyle},
797797+ ${optionalString (s3.sseCKeyFile != null) "'sse_c_key' => nix_read_secret('${s3.sseCKeyFile}'),"}
776798 ],
777799 ]
778800 '';