Manage nextcloud in nixos instead of docker
This commit is contained in:
parent
5ff52a0e19
commit
448d3fb359
4 changed files with 43 additions and 0 deletions
|
@ -17,6 +17,7 @@
|
||||||
stateVersion = "20.09";
|
stateVersion = "20.09";
|
||||||
docker.enable = true;
|
docker.enable = true;
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
|
nextcloud.enable = true;
|
||||||
ovh.enable = true;
|
ovh.enable = true;
|
||||||
smartd.enable = true;
|
smartd.enable = true;
|
||||||
sshd.enable = true;
|
sshd.enable = true;
|
||||||
|
|
Binary file not shown.
|
@ -11,6 +11,7 @@
|
||||||
./git.nix
|
./git.nix
|
||||||
./global-mailer.nix
|
./global-mailer.nix
|
||||||
./minecraft.nix
|
./minecraft.nix
|
||||||
|
./nextcloud.nix
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
./ovh.nix
|
./ovh.nix
|
||||||
|
|
41
modules/nextcloud.nix
Normal file
41
modules/nextcloud.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{ config, lib, pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.chvp.nextcloud.enable = lib.mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
};
|
||||||
|
config = lib.mkIf config.chvp.nextcloud.enable {
|
||||||
|
services = {
|
||||||
|
nextcloud = {
|
||||||
|
home = "${config.chvp.dataPrefix}/var/lib/nextcloud";
|
||||||
|
https = true;
|
||||||
|
hostName = "nextcloud.vanpetegem.me";
|
||||||
|
enable = true;
|
||||||
|
autoUpdateApps.enable = true;
|
||||||
|
package = pkgs.nextcloud21;
|
||||||
|
config = {
|
||||||
|
dbuser = "nextcloud";
|
||||||
|
dbname = "nextcloud";
|
||||||
|
dbtype = "pgsql";
|
||||||
|
dbhost = "/run/postgresql";
|
||||||
|
adminuser = "admin";
|
||||||
|
adminpassFile = "${config.chvp.dataPrefix}/var/secrets/nextcloud-admin-password";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nginx.virtualHosts."nextcloud.vanpetegem.me" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "vanpetegem.me";
|
||||||
|
};
|
||||||
|
postgresql = {
|
||||||
|
enable = true;
|
||||||
|
dataDir = "${config.chvp.dataPrefix}/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}";
|
||||||
|
ensureDatabases = [ "nextcloud" ];
|
||||||
|
ensureUsers = [{
|
||||||
|
name = "nextcloud";
|
||||||
|
ensurePermissions = { "DATABASE nextcloud" = "ALL PRIVILEGES"; };
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue