nextcloud: use a container

This commit is contained in:
Ingolf Wagner 2020-03-04 03:09:31 +08:00
parent 9f16c6bf1b
commit d66e28d96c
No known key found for this signature in database
GPG key ID: 76BF5F1928B9618B
2 changed files with 59 additions and 11 deletions

View file

@ -1,16 +1,63 @@
{ pkgs, ... }: { { pkgs, ... }: {
services.nextcloud = {
enable = true; # setup nextcloud in a container
autoUpdateApps.enable = true; containers.nextcloud = {
config.adminpassFile = toString <secrets/nextcloud/rootpassword>; bindMounts = {
#home = "/home/nextcloud"; password = {
nginx.enable = true; hostPath = toString <secrets/nextcloud/rootpassword>;
hostName = "nextcloud.workhorse.private"; mountPoint = toString <secrets/nextcloud/rootpassword>;
logLevel = 0; isReadOnly = true;
config.extraTrustedDomains = };
[ "nextcloud.ingolf-wagner.de" "nextcloud.gaykraft.com" ]; home = {
hostPath = toString "/home/nextcloud";
mountPoint = "/var/lib/nextcloud";
isReadOnly = false;
};
};
privateNetwork = true;
hostAddress = "192.168.100.10";
localAddress = "192.168.100.11";
autoStart = true;
config = { config, pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowedUDPPorts = [ 80 ];
services.nextcloud = {
enable = true;
autoUpdateApps.enable = true;
config.adminpassFile = toString <secrets/nextcloud/rootpassword>;
nginx.enable = true;
hostName = "nextcloud.workhorse.private";
logLevel = 0;
config.extraTrustedDomains = [
"nextcloud.ingolf-wagner.de"
"nextcloud.gaykraft.com"
"192.168.100.11"
];
};
environment.systemPackages = [ pkgs.smbclient ];
};
}; };
environment.systemPackages = [ pkgs.smbclient ]; # host nginx setup
services.nginx = {
enable = true;
virtualHosts = {
"nextcloud.workhorse.private" = {
locations."/" = {
proxyPass = "http://192.168.100.11";
extraConfig = ''
sub_filter "192.168.100.11" "nextcloud.workhorse.private";
client_max_body_size 0;
'';
};
};
};
};
} }

View file

@ -5,6 +5,7 @@
folders = { folders = {
movies = config.test.services.syncthing.declarative.folders.movies.path; movies = config.test.services.syncthing.declarative.folders.movies.path;
series = config.test.services.syncthing.declarative.folders.series.path; series = config.test.services.syncthing.declarative.folders.series.path;
samples = config.test.services.syncthing.declarative.folders.samples.path;
music = music =
config.test.services.syncthing.declarative.folders.music-library.path; config.test.services.syncthing.declarative.folders.music-library.path;
}; };