From c10916f47ad6083f0e2b10200b286f25e8858290 Mon Sep 17 00:00:00 2001 From: lightly-toasted Date: Mon, 8 Dec 2025 19:23:05 +0900 Subject: [PATCH 1/3] feat(nixos): migrate restic backups from b2 to rest-server --- hosts/nixos/modules/services/restic.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hosts/nixos/modules/services/restic.nix b/hosts/nixos/modules/services/restic.nix index 1452624..85c7215 100644 --- a/hosts/nixos/modules/services/restic.nix +++ b/hosts/nixos/modules/services/restic.nix @@ -6,7 +6,7 @@ "restic/env" = {}; }; - services.restic.backups.b2 = { + services.restic.backups.y2q = { initialize = true; inhibitsSleep = true; passwordFile = config.sops.secrets."restic/password".path; @@ -15,15 +15,16 @@ "/home/toast/workspace" ]; exclude = [ "node_modules" ]; - repository = "s3:https://s3.us-east-005.backblazeb2.com/restic-backups-0"; + repository = "rest:http://y2q:9000/nixos/"; environmentFile = config.sops.secrets."restic/env".path; pruneOpts = [ + "--keep-hourly 6" "--keep-daily 7" "--keep-weekly 3" "--keep-monthly 3" ]; timerConfig = { - OnCalendar = "daily"; + OnCalendar = "hourly"; Persistent = true; }; }; From 18997b1fef5c92328188ab220be9464bf9653b8d Mon Sep 17 00:00:00 2001 From: lightly-toasted Date: Mon, 8 Dec 2025 19:26:02 +0900 Subject: [PATCH 2/3] feat(y2q): add prometheus --- home/modules/runit/services/prometheus.nix | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 home/modules/runit/services/prometheus.nix diff --git a/home/modules/runit/services/prometheus.nix b/home/modules/runit/services/prometheus.nix new file mode 100644 index 0000000..fbb5d2c --- /dev/null +++ b/home/modules/runit/services/prometheus.nix @@ -0,0 +1,25 @@ +{ pkgs, config, ... }: + +{ + home.file.".config/prometheus/prometheus.yml".text = '' + global: + scrape_interval: 1m + + scrape_configs: + - job_name: 'restic_rest_server' + static_configs: + - targets: ['${config.runit.services.restic-rest-server.environment.LISTEN_ADDR}'] + ''; + + runit.services.prometheus = { + script = '' + TSDB_PATH=$HOME/services/prometheus + mkdir -p TSDB_PATH + + exec ${pkgs.prometheus}/bin/prometheus \ + --config.file=$HOME/.config/prometheus/prometheus.yml \ + --storage.tsdb.path=$TSDB_PATH \ + --web.listen-address="127.0.0.1:9090" + ''; + }; +} From bb37a6c3a815f8b7a661ccb6993f5d54213d84af Mon Sep 17 00:00:00 2001 From: lightly-toasted Date: Mon, 8 Dec 2025 19:27:27 +0900 Subject: [PATCH 3/3] feat(y2q): add grafana - Add runit service for Grafana - Add Caddy route for grafana.ts.toast.name --- home/modules/runit/services/caddy.nix | 5 +++++ home/modules/runit/services/grafana.nix | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 home/modules/runit/services/grafana.nix diff --git a/home/modules/runit/services/caddy.nix b/home/modules/runit/services/caddy.nix index 0b1e1a1..34b827c 100644 --- a/home/modules/runit/services/caddy.nix +++ b/home/modules/runit/services/caddy.nix @@ -19,6 +19,11 @@ # Glances reverse_proxy http://localhost:61208 } + + http://grafana.ts.toast.name { + # Grafana + reverse_proxy http://localhost:${config.runit.services.grafana.environment.GF_SERVER_HTTP_PORT} + } ''; runit.services.caddy = { diff --git a/home/modules/runit/services/grafana.nix b/home/modules/runit/services/grafana.nix new file mode 100644 index 0000000..c8d2d73 --- /dev/null +++ b/home/modules/runit/services/grafana.nix @@ -0,0 +1,21 @@ +{ pkgs, config, ... }: + +{ + runit.services.grafana = { + script = '' + HOME_PATH=$HOME/services/grafana + mkdir -p "$HOME_PATH" + + exec ${pkgs.grafana}/bin/grafana server \ + --homepath ${pkgs.grafana}/share/grafana + ''; + + environment = { + GF_SERVER_HTTP_ADDR = "127.0.0.1"; + GF_SERVER_HTTP_PORT = "3000"; + GF_PATHS_DATA = "${config.home.homeDirectory}/services/grafana"; + }; + + log.enable = true; + }; +}