[wip] add mediadc
This commit is contained in:
parent
7dfabe6f17
commit
b7b1330c4a
1 changed files with 72 additions and 0 deletions
|
@ -471,6 +471,27 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mediadc = lib.mkOption {
|
||||||
|
description = ''
|
||||||
|
MediaDC App. [Nextcloud App Store](https://apps.nextcloud.com/apps/mediadc)
|
||||||
|
|
||||||
|
Enabling this app will all enable the supporting cloud_py_api app.
|
||||||
|
'';
|
||||||
|
default = {};
|
||||||
|
type = lib.types.submodule {
|
||||||
|
options = {
|
||||||
|
enable = lib.mkEnableOption "MediaDC app.";
|
||||||
|
|
||||||
|
debug = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
description = "Enable more verbose logging.";
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -979,5 +1000,56 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(lib.mkIf cfg.apps.mediadc.enable {
|
||||||
|
services.nextcloud.extraApps = {
|
||||||
|
cloud_py_api = pkgs.fetchNextcloudApp { # Needed for MediaDC
|
||||||
|
sha256 = "sha256-NHSshC8gUmBof02E0alXWuEUnQvRadGK0PxSX5qKY7w=";
|
||||||
|
url = "https://github.com/cloud-py-api/cloud_py_api/releases/download/v0.1.9/cloud_py_api.tar.gz";
|
||||||
|
license = "agpl3";
|
||||||
|
};
|
||||||
|
mediadc = pkgs.fetchNextcloudApp {
|
||||||
|
sha256 = "sha256-gtq6dHiCHpht4RuRbyiAfmucfykkuQhFCxdq8DuwuGQ=";
|
||||||
|
url = "https://github.com/cloud-py-api/mediadc/releases/download/v0.3.8/mediadc.tar.gz";
|
||||||
|
license = "agpl3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.nextcloud-setup.script =
|
||||||
|
let
|
||||||
|
escape = value: lib.strings.stringAsChars (x: if x == "\"" then "\\\"" else x) (builtins.toJSON value);
|
||||||
|
set = { table, name, value }: ''
|
||||||
|
${pkgs.postgresql}/bin/psql --command "UPDATE ${table} SET value='${escape value}' WHERE name='${name}'";
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
lib.strings.concatMapStrings set [
|
||||||
|
{
|
||||||
|
table = "oc_cloud_py_api_settings";
|
||||||
|
name = "python_command";
|
||||||
|
value = "${pkgs.python3}/bin/python3";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
table = "oc_cloud_py_api_settings";
|
||||||
|
name = "php_path";
|
||||||
|
value = "${pkgs.php}/bin/php";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
table = "oc_cloud_py_api_settings";
|
||||||
|
name = "use_php_path_from_settings";
|
||||||
|
value = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
table = "oc_cloud_py_api_settings";
|
||||||
|
name = "cpa_loglevel";
|
||||||
|
# WARNING is the default.
|
||||||
|
value = if cfg.apps.mediadc.debug then "DEBUG" else "WARNING";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
table = "oc_mediadc_settings";
|
||||||
|
name = "python_binary";
|
||||||
|
value = false;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue