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";
fsType = "ext4";
};
fileSystems."/home/notoh/docker/stash/data" = {
device = "192.168.1.71:/volume1/stash";
fsType = "nfs";
};
fileSystems."/media" = {
device = "192.168.1.71:/volume1/media";
fsType = "nfs";
};
swapDevices = [
{device = "/dev/disk/by-uuid/c5afba13-f1af-4e7f-994b-f565c52d92fc";}
];

View file

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

View file

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

View file

@ -23,6 +23,16 @@
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 = [
{device = "/dev/disk/by-uuid/34a9e234-35da-4140-b231-2bb983a5204b";}
];

View file

@ -1,6 +1,8 @@
{...}: {
imports = [
./restic.nix
./traefik.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 = {
enable = true;
dynamicConfigOptions = {
@ -14,9 +15,15 @@ _: {
entryPoints = ["web"];
service = "kanboard";
};
stash = {
rule = "Host(`stash.home.arpa`)";
entrypoints = ["web"];
service = "stash";
};
};
services = {
kanboard.loadBalancer.servers = [{url = "http://localhost:8080";}];
stash.loadBalancer.servers = [{url = "http://localhost:9999";}];
};
};
};