mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 17:31:34 +01:00
75 lines
2 KiB
Nix
75 lines
2 KiB
Nix
{
|
|
containers.nextcloud.config =
|
|
{
|
|
config,
|
|
pkgs,
|
|
dataDir,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
./email-server.nix
|
|
./backup.nix
|
|
];
|
|
|
|
sops.secrets."nextcloud/admin-password" = {
|
|
owner = config.users.users.nextcloud.name;
|
|
inherit (config.users.users.nextcloud) group;
|
|
};
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d ${dataDir}/home 750 nextcloud nextcloud -"
|
|
"d ${dataDir}/postgresql 700 postgres postgres -"
|
|
];
|
|
|
|
services.postgresql.dataDir = "${dataDir}/postgresql";
|
|
|
|
services.nextcloud = {
|
|
enable = true;
|
|
package = pkgs.nextcloud29;
|
|
home = "${dataDir}/home";
|
|
hostName = config.networking.fqdn;
|
|
|
|
database.createLocally = true;
|
|
config = {
|
|
dbtype = "pgsql";
|
|
adminuser = "admin";
|
|
adminpassFile = config.sops.secrets."nextcloud/admin-password".path;
|
|
};
|
|
|
|
https = true;
|
|
settings = {
|
|
overwriteProtocol = "https";
|
|
trusted_proxies = [ "127.0.0.1" ];
|
|
log_type = "file";
|
|
default_phone_region = "DE";
|
|
maintenance_window_start = "2"; # UTC
|
|
};
|
|
|
|
configureRedis = true;
|
|
maxUploadSize = "16G";
|
|
phpOptions."opcache.interned_strings_buffer" = "16";
|
|
|
|
autoUpdateApps = {
|
|
enable = true;
|
|
startAt = "04:00:00";
|
|
};
|
|
extraApps = {
|
|
inherit (config.services.nextcloud.package.packages.apps) calendar contacts onlyoffice;
|
|
|
|
twofactor_totp = pkgs.fetchNextcloudApp {
|
|
url =
|
|
let
|
|
name = "twofactor_totp";
|
|
version = "6.4.1";
|
|
in
|
|
"https://github.com/nextcloud-releases/${name}/releases/download/v${version}/${name}-v${version}.tar.gz";
|
|
sha256 = "sha256-zAPNugbvngXcpgWJLD78YAg4G1QtGaphx1bhhg7mLKE=";
|
|
license = "gpl3";
|
|
};
|
|
};
|
|
};
|
|
|
|
myConfig.tailscale.serve = "80";
|
|
};
|
|
}
|