nix-dotfiles/nixos/garage.nix

55 lines
1.4 KiB
Nix

{ pkgs, config, ... }: {
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.interfaces."tailscale0".allowedTCPPorts = [
3900
3901
];
# # Not correctly passing mount bindings
# systemd.services.garage.serviceConfig = {
# ProtectHome = lib.mkForce false;
# DynamicUser = false;
# };
services.garage = {
enable = true;
package = pkgs.garage_2;
settings = {
# data_dir = "/mnt/raid/garage/";
replication_factor = 1;
rpc_secret_file = config.age.secrets.garage_rpc_secret.path;
rpc_bind_addr = "0.0.0.0:3901";
bootstrap_peers = [ ];
rpc_public_addr = "heimdall.tsn:3901";
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";
# };
# k2v_api = {
# api_bind_addr = "[::]:3904";
# };
admin = {
api_bind_addr = "0.0.0.0:3903";
# metrics_token = "72ad105afc44f30c189b2505f5583d3ea9be26a3e0a4730d48381b1ae4b70074";
# admin_token = "05bf164fe1ce3ecc1dff8fb1e5b237331d24b109792be714738fa92b2d14213d";
# trace_sink = "http://localhost:4317";
};
};
};
}