nix-dotfiles/modules/nixos/garage.nix
2024-10-21 20:02:16 +02:00

54 lines
1.2 KiB
Nix

{ config
, lib
, ...
}:
{
users.groups.garage = { };
users.users.garage = {
isSystemUser = true;
group = "garage";
};
age.secrets.garage_rpc_secret = {
file = ../../secrets/garage_rpc_secret.age;
owner = "garage";
};
networking.firewall.allowedTCPPorts = [
3900
3901
];
# Not correctly passing mount bindings
systemd.services.garage.serviceConfig = {
ProtectHome = lib.mkForce false;
DynamicUser = false;
};
services.garage = {
enable = true;
settings = {
replication_mode = 1;
rpc_secret_file = config.age.secrets.garage_rpc_secret.path;
rpc_bind_addr = "0.0.0.0:3901";
bootstrap_peers = [ ];
s3_api = {
api_bind_addr = "0.0.0.0:3900";
s3_region = "garage";
root_domain = ".s3.bertof.net";
};
s3_web = {
bind_addr = "0.0.0.0:3902";
root_domain = ".web.bertof.net";
};
admin = {
api_bind_addr = "0.0.0.0:3903";
# metrics_token = "72ad105afc44f30c189b2505f5583d3ea9be26a3e0a4730d48381b1ae4b70074";
# admin_token = "05bf164fe1ce3ecc1dff8fb1e5b237331d24b109792be714738fa92b2d14213d";
# trace_sink = "http://localhost:4317";
};
};
};
}