hosts: move stash -> yuki, init yuki restic
This commit is contained in:
parent
85bb9036b8
commit
4f94d01226
8 changed files with 57 additions and 11 deletions
|
@ -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";}
|
||||||
];
|
];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";}];
|
||||||
|
|
|
@ -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";}
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
./restic.nix
|
||||||
./traefik.nix
|
./traefik.nix
|
||||||
./kanboard.nix
|
./kanboard.nix
|
||||||
|
./stash.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
36
hosts/yuki/services/restic.nix
Normal file
36
hosts/yuki/services/restic.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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";}];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue