feat: add nextcloud

This commit is contained in:
Felix Schröter 2021-12-22 17:36:29 +01:00
parent f2f451af6c
commit fda21e449a
No known key found for this signature in database
GPG key ID: 910ACB9F6BD26F58
2 changed files with 41 additions and 0 deletions

View file

@ -27,6 +27,7 @@ in with builtins; {
./services/owntracks.nix ./services/owntracks.nix
./services/miniflux.nix ./services/miniflux.nix
./services/paperless.nix ./services/paperless.nix
./services/nextcloud.nix
]; ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -66,6 +67,7 @@ in with builtins; {
passwordFile = "/etc/nixos/secrets/cfdyndns-apikey"; passwordFile = "/etc/nixos/secrets/cfdyndns-apikey";
domains = [ domains = [
"home.felschr.com" "home.felschr.com"
"cloud.felschr.com"
"media.felschr.com" "media.felschr.com"
"news.felschr.com" "news.felschr.com"
"mqtt.felschr.com" "mqtt.felschr.com"

39
services/nextcloud.nix Normal file
View file

@ -0,0 +1,39 @@
{ config, pkgs, ... }:
let host = "cloud.felschr.com";
in {
services.nextcloud = {
enable = true;
package = pkgs.nextcloud23;
hostName = host;
https = true;
maxUploadSize = "10G";
config = {
adminuser = "admin";
adminpassFile = "/etc/nixos/secrets/nextcloud/admin";
dbtype = "pgsql";
dbhost = "/run/postgresql";
};
autoUpdateApps.enable = true;
};
services.nginx.virtualHosts.${hostName} = {
forceSSL = true;
enableACME = true;
};
services.postgresql = with config.services.nextcloud.config; {
enable = true;
ensureDatabases = [ dbname ];
ensureUsers = [{
name = dbuser;
ensurePermissions."DATABASE ${dbname}" = "ALL PRIVILEGES";
}];
};
# ensure that postgres is running *before* running the setup
systemd.services."nextcloud-setup" = {
requires = [ "postgresql.service" ];
after = [ "postgresql.service" ];
};
}