Get domain url from machine.vHost config (except for cache).

Add turn server option to nextcloud (untested).
This commit is contained in:
Kevin Baensch 2019-10-07 02:48:07 +02:00
parent ce2c259059
commit a4fde6972f
4 changed files with 93 additions and 62 deletions

View file

@ -3,27 +3,48 @@
with lib;
mkIf (elem "nextcloud" config.machine.services) {
services.nextcloud = {
enable = true;
home = "/var/lib/nextcloud";
hostName = "storage.${config.machine.domain}";
https = true;
maxUploadSize = "1024M";
config = {
adminuser = "derped";
adminpassFile = "${config.machine.secretPath}/nextcloud_admin";
dbtype = "mysql";
dbhost = "localhost";
dbport = "3306";
dbuser = "nextcloud";
dbpassFile = "${config.machine.secretPath}/nextcloud_db";
dbname = "nextcloud";
dbtableprefix = "oc_";
services = let
cfg = config.machine;
domain = (findFirst (s: s.service == "nextcloud") cfg cfg.vHosts).domain;
in {
nextcloud = {
enable = true;
home = "/var/lib/nextcloud";
hostName = domain;
https = true;
maxUploadSize = "1024M";
config = {
adminuser = "derped";
adminpassFile = "${cfg.secretPath}/nextcloud_admin";
dbtype = "mysql";
dbhost = "localhost";
dbport = "3306";
dbuser = "nextcloud";
dbpassFile = "${cfg.secretPath}/nextcloud_db";
dbname = "nextcloud";
dbtableprefix = "oc_";
};
caching = {
apcu = true;
memcached = true;
redis = false;
};
};
caching = {
apcu = true;
memcached = true;
redis = false;
# Turn Server used for nextcloud-talk
# This stuff is still untested.
coturn = mkIf (elem "nextcloud-talk" config.machine.services) {
# TLS is not needed as WebRTC is already encrypted.
enable = true;
realm = domain;
listening-port = 3478;
use-auth-secret = true;
extraConfig = ''
fingerprint
total-quota=100
bps-capacity=0
stale-nonce
no-multicast-peers
'';
};
};
}