nixfiles/hosts/hetzner-arm/containers/storage/profiles/rcloneServe.nix

71 lines
1.7 KiB
Nix
Raw Normal View History

{config, ...}: let
2024-03-10 17:26:18 +00:00
inherit (config.services.secrets) secrets;
2023-09-18 03:56:58 +01:00
ports = import ../data/ports.nix;
2022-11-15 14:52:49 +00:00
in {
2022-11-20 10:34:55 +00:00
systemd.tmpfiles.rules = [
"d /caches - storage storage"
"d /caches/main_webdav_serve - storage storage"
"d /caches/media_webdav_serve - storage storage"
];
2023-09-18 03:56:58 +01:00
services.rclone-serve = {
2022-11-15 14:52:49 +00:00
enable = true;
2023-09-18 03:56:58 +01:00
remotes = map (remote:
2022-11-15 14:52:49 +00:00
{
user = "storage";
2023-09-18 03:56:58 +01:00
}
// remote) [
2022-11-15 14:52:49 +00:00
{
id = "public";
remote = "Public:";
2022-11-15 14:52:49 +00:00
type = "webdav";
extraArgs = [
"--addr=0.0.0.0:${toString ports.webdav.public}"
"--htpasswd=${secrets.webdav_public_htpasswd.path}"
"--baseurl=/Public/"
2022-11-15 14:52:49 +00:00
];
}
{
id = "uploads";
2025-01-27 17:26:21 +00:00
remote = "Uploads:";
type = "webdav";
extraArgs = [
"--addr=0.0.0.0:${toString ports.webdav.uploads}"
"--htpasswd=${secrets.webdav_uploads_htpasswd.path}"
"--baseurl=/Uploads/"
];
}
2024-04-26 19:57:02 +01:00
{
id = "music";
2025-01-27 17:26:21 +00:00
remote = "Music:";
2022-11-15 14:52:49 +00:00
type = "http";
extraArgs = [
"--addr=0.0.0.0:${toString ports.http.music}"
2022-11-15 14:52:49 +00:00
"--baseurl=/Music/"
"--read-only"
];
}
{
2023-09-18 03:56:58 +01:00
id = "public";
2025-01-27 17:26:21 +00:00
remote = "Public:";
2022-11-15 14:52:49 +00:00
type = "http";
extraArgs = [
"--addr=0.0.0.0:${toString ports.http.public}"
2022-11-15 14:52:49 +00:00
"--baseurl=/Public/"
"--read-only"
];
}
{
id = "uploads_public";
2025-01-27 17:26:21 +00:00
remote = "Uploads:Public";
type = "http";
extraArgs = [
"--addr=0.0.0.0:${toString ports.http.uploads_public}"
"--baseurl=/Uploads/"
"--read-only"
];
}
2022-11-15 14:52:49 +00:00
];
};
}