nixfiles/hosts/hetzner-arm/containers/storage/profiles/rcloneServe.nix
2025-01-27 17:26:21 +00:00

71 lines
1.7 KiB
Nix

{config, ...}: let
inherit (config.services.secrets) secrets;
ports = import ../data/ports.nix;
in {
systemd.tmpfiles.rules = [
"d /caches - storage storage"
"d /caches/main_webdav_serve - storage storage"
"d /caches/media_webdav_serve - storage storage"
];
services.rclone-serve = {
enable = true;
remotes = map (remote:
{
user = "storage";
}
// remote) [
{
id = "public";
remote = "Public:";
type = "webdav";
extraArgs = [
"--addr=0.0.0.0:${toString ports.webdav.public}"
"--htpasswd=${secrets.webdav_public_htpasswd.path}"
"--baseurl=/Public/"
];
}
{
id = "uploads";
remote = "Uploads:";
type = "webdav";
extraArgs = [
"--addr=0.0.0.0:${toString ports.webdav.uploads}"
"--htpasswd=${secrets.webdav_uploads_htpasswd.path}"
"--baseurl=/Uploads/"
];
}
{
id = "music";
remote = "Music:";
type = "http";
extraArgs = [
"--addr=0.0.0.0:${toString ports.http.music}"
"--baseurl=/Music/"
"--read-only"
];
}
{
id = "public";
remote = "Public:";
type = "http";
extraArgs = [
"--addr=0.0.0.0:${toString ports.http.public}"
"--baseurl=/Public/"
"--read-only"
];
}
{
id = "uploads_public";
remote = "Uploads:Public";
type = "http";
extraArgs = [
"--addr=0.0.0.0:${toString ports.http.uploads_public}"
"--baseurl=/Uploads/"
"--read-only"
];
}
];
};
}