hosts: move stash -> yuki, init yuki restic

This commit is contained in:
notohh 2023-06-13 12:11:08 -04:00
parent 85bb9036b8
commit 4f94d01226
Signed by: notohh
GPG key ID: BD47506D475EE86D
8 changed files with 57 additions and 11 deletions

View file

@ -16,14 +16,12 @@
device = "/dev/disk/by-uuid/db3e4722-35a6-44fb-8e4d-a75166b845cb"; device = "/dev/disk/by-uuid/db3e4722-35a6-44fb-8e4d-a75166b845cb";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/home/notoh/docker/stash/data" = {
device = "192.168.1.71:/volume1/stash";
fsType = "nfs";
};
fileSystems."/media" = { fileSystems."/media" = {
device = "192.168.1.71:/volume1/media"; device = "192.168.1.71:/volume1/media";
fsType = "nfs"; fsType = "nfs";
}; };
swapDevices = [ swapDevices = [
{device = "/dev/disk/by-uuid/c5afba13-f1af-4e7f-994b-f565c52d92fc";} {device = "/dev/disk/by-uuid/c5afba13-f1af-4e7f-994b-f565c52d92fc";}
]; ];

View file

@ -4,7 +4,6 @@
./homepage.nix ./homepage.nix
./searxng.nix ./searxng.nix
./hugo.nix ./hugo.nix
./stash.nix
./foundryvtt.nix ./foundryvtt.nix
./forgejo.nix ./forgejo.nix
./jellyfin.nix ./jellyfin.nix

View file

@ -29,11 +29,6 @@
entrypoints = ["web"]; entrypoints = ["web"];
service = "searxng"; service = "searxng";
}; };
stash = {
rule = "Host(`stash.home.arpa`)";
entrypoints = ["web"];
service = "stash";
};
jellyfin = { jellyfin = {
rule = "Host(`jellyfin.home.arpa`)"; rule = "Host(`jellyfin.home.arpa`)";
entrypoints = ["web"]; entrypoints = ["web"];
@ -93,7 +88,6 @@
homepage.loadBalancer.servers = [{url = "http://localhost:3005";}]; homepage.loadBalancer.servers = [{url = "http://localhost:3005";}];
searxng.loadBalancer.servers = [{url = "http://localhost:8085";}]; searxng.loadBalancer.servers = [{url = "http://localhost:8085";}];
hugo.loadBalancer.servers = [{url = "http://localhost:1313";}]; hugo.loadBalancer.servers = [{url = "http://localhost:1313";}];
stash.loadBalancer.servers = [{url = "http://localhost:9999";}];
jellyfin.loadBalancer.servers = [{url = "http://localhost:8096";}]; jellyfin.loadBalancer.servers = [{url = "http://localhost:8096";}];
foundryvtt.loadBalancer.servers = [{url = "http://localhost:30000";}]; foundryvtt.loadBalancer.servers = [{url = "http://localhost:30000";}];
gitea.loadBalancer.servers = [{url = "http://localhost:3200";}]; gitea.loadBalancer.servers = [{url = "http://localhost:3200";}];

View file

@ -23,6 +23,16 @@
fsType = "vfat"; fsType = "vfat";
}; };
fileSystems."/nas" = {
device = "192.168.1.71:/volume1/yuki";
fsType = "nfs";
};
fileSystems."/home/notoh/docker/stash/data" = {
device = "192.168.1.71:/volume1/stash";
fsType = "nfs";
};
swapDevices = [ swapDevices = [
{device = "/dev/disk/by-uuid/34a9e234-35da-4140-b231-2bb983a5204b";} {device = "/dev/disk/by-uuid/34a9e234-35da-4140-b231-2bb983a5204b";}
]; ];

View file

@ -1,6 +1,8 @@
{...}: { {...}: {
imports = [ imports = [
./restic.nix
./traefik.nix ./traefik.nix
./kanboard.nix ./kanboard.nix
./stash.nix
]; ];
} }

View file

@ -0,0 +1,36 @@
{
pkgs,
config,
...
}: {
sops.secrets.restic-repo-pwd = {};
environment.systemPackages = [pkgs.restic];
services.restic = {
backups = {
ame = {
paths = [
"/home"
];
exclude = [
"*.qcow2"
"*.iso"
"/home/*/Downloads"
"/home/*/.cache"
"/home/*/.local/share/Trash"
"/home/*/.local/share/.var"
];
pruneOpts = [
"--keep-daily=4"
"--keep-weekly=3"
"--keep-monthly=2"
];
initialize = true;
repository = "/nas/home";
passwordFile = config.sops.secrets.restic-repo-pwd.path;
timerConfig = {
OnCalendar = "daily";
};
};
};
};
}

View file

@ -1,4 +1,5 @@
_: { _: {
networking.firewall.allowedTCPPorts = [80 443];
services.traefik = { services.traefik = {
enable = true; enable = true;
dynamicConfigOptions = { dynamicConfigOptions = {
@ -14,9 +15,15 @@ _: {
entryPoints = ["web"]; entryPoints = ["web"];
service = "kanboard"; service = "kanboard";
}; };
stash = {
rule = "Host(`stash.home.arpa`)";
entrypoints = ["web"];
service = "stash";
};
}; };
services = { services = {
kanboard.loadBalancer.servers = [{url = "http://localhost:8080";}]; kanboard.loadBalancer.servers = [{url = "http://localhost:8080";}];
stash.loadBalancer.servers = [{url = "http://localhost:9999";}];
}; };
}; };
}; };