mirror of
https://github.com/nmasur/dotfiles
synced 2025-06-05 16:05:53 +00:00
49 lines
1.1 KiB
Nix
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 ];
|
|
|
|
};
|
|
|
|
}
|