2025-06-02 02:56:19 +00:00

49 lines
1.1 KiB
Nix

{
config,
lib,
...
}:
let
inherit (config.nmasur.settings) hostnames;
cfg = config.nmasur.presets.services.filebrowser;
in
{
options.nmasur.presets.services.filebrowser.enable = lib.mkEnableOption "Filebrowser private files";
config = lib.mkIf cfg.enable {
nmasur.services.filebrowser = {
enable = true;
# Generate password: htpasswd -nBC 10 "" | tr -d ':\n'
passwordHash = "$2y$10$ze1cMob0k6pnXRjLowYfZOVZWg4G.dsPtH3TohbUeEbI0sdkG9.za";
# settings = {
# database = "/var/lib/filebrowser/filebrowser.db";
# port = 8020;
# address = "localhost";
# log = "stdout";
# "auth.method" = "json";
# };
};
nmasur.presets.services.caddy.routes = [
{
match = [ { host = [ hostnames.files ]; } ];
handle = [
{
handler = "reverse_proxy";
upstreams = [
{ dial = "localhost:8020"; }
];
}
];
}
];
# Configure Cloudflare DNS to point to this machine
services.cloudflare-dyndns.domains = [ hostnames.files ];
};
}