Heimdall: add garage

--wip-- [skip ci]
This commit is contained in:
Filippo Berto 2025-07-14 18:19:38 +02:00
parent f87801f73e
commit 80a229ecf0
Signed by: bertof
GPG key ID: 9DBF7E6A1D2CE9ED
2 changed files with 23 additions and 20 deletions

View file

@ -400,6 +400,7 @@
./modules/nixos/torrentbox.nix ./modules/nixos/torrentbox.nix
./modules/nixos/minio_server.nix ./modules/nixos/minio_server.nix
./modules/nixos/nextcloud.nix ./modules/nixos/nextcloud.nix
./modules/nixos/garage.nix
# ./modules/nixos/ntfy.nix # ./modules/nixos/ntfy.nix
# S3 cache read # S3 cache read
# ./modules/nixos/s3_cache_read.nix # ./modules/nixos/s3_cache_read.nix

View file

@ -1,33 +1,31 @@
{ config { pkgs, config, ... }: {
, lib # users.groups.garage = { };
, ... # users.users.garage = {
}: # isSystemUser = true;
{ # group = "garage";
users.groups.garage = { }; # };
users.users.garage = {
isSystemUser = true;
group = "garage";
};
age.secrets.garage_rpc_secret = { age.secrets.garage_rpc_secret = {
file = ../../secrets/garage_rpc_secret.age; file = ../../secrets/garage_rpc_secret.age;
owner = "garage"; owner = "garage";
}; };
networking.firewall.allowedTCPPorts = [ # networking.firewall.allowedTCPPorts = [
3900 # 3900
3901 # 3901
]; # ];
# Not correctly passing mount bindings # # Not correctly passing mount bindings
systemd.services.garage.serviceConfig = { # systemd.services.garage.serviceConfig = {
ProtectHome = lib.mkForce false; # ProtectHome = lib.mkForce false;
DynamicUser = false; # DynamicUser = false;
}; # };
services.garage = { services.garage = {
enable = true; enable = true;
package = pkgs.garage_2;
settings = { settings = {
replication_mode = 1; data_dir = "/mnt/raid/garage/";
replication_factor = 1;
rpc_secret_file = config.age.secrets.garage_rpc_secret.path; rpc_secret_file = config.age.secrets.garage_rpc_secret.path;
rpc_bind_addr = "0.0.0.0:3901"; rpc_bind_addr = "0.0.0.0:3901";
bootstrap_peers = [ ]; bootstrap_peers = [ ];
@ -43,6 +41,10 @@
root_domain = ".web.bertof.net"; root_domain = ".web.bertof.net";
}; };
k2v_api = {
api_bind_addr = "[::]:3904";
};
admin = { admin = {
api_bind_addr = "0.0.0.0:3903"; api_bind_addr = "0.0.0.0:3903";
# metrics_token = "72ad105afc44f30c189b2505f5583d3ea9be26a3e0a4730d48381b1ae4b70074"; # metrics_token = "72ad105afc44f30c189b2505f5583d3ea9be26a3e0a4730d48381b1ae4b70074";