Compare commits

...

2 Commits

Author SHA1 Message Date
050741393b [pi4] Added initial caddy config based on homelab 2025-05-13 21:31:29 +02:00
08cd2cbebc [shared] Added planify 2025-05-13 21:00:14 +02:00
4 changed files with 112 additions and 27 deletions

54
flake.lock generated
View File

@ -49,11 +49,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1745598511,
"narHash": "sha256-GWYB7PngGwTJrp7gr0w6E5nnvwiblPvN2kjRCQw3ZEg=",
"lastModified": 1746650299,
"narHash": "sha256-4+pxk1KcSH8ww3tgN808nNJ3E7Q8gNWI+U0sesW7mBQ=",
"owner": "catppuccin",
"repo": "nix",
"rev": "199cb288a85b15ed203089804c024ae5b3eacd7c",
"rev": "f746600f15b69df05c84e3037749a3be5b1276d1",
"type": "github"
},
"original": {
@ -87,11 +87,11 @@
]
},
"locked": {
"lastModified": 1745557122,
"narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=",
"lastModified": 1746171682,
"narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1",
"rev": "50eee705bbdbac942074a8c120e8194185633675",
"type": "github"
},
"original": {
@ -128,11 +128,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1744513377,
"narHash": "sha256-2ocy+qAVxTBmaK8MpAy7mpKIH+DYEzwf+KzXZX83oZ4=",
"lastModified": 1745885816,
"narHash": "sha256-yuIb6/gGcII+2YgtTLcYdga0pcL63B18xQ/oitOhg7k=",
"owner": "Jas-SinghFSU",
"repo": "HyprPanel",
"rev": "42943b3def85d8787d703778951944c8e791202b",
"rev": "0c82ce9704c8063be8d8f60443071c91943eb68c",
"type": "github"
},
"original": {
@ -159,11 +159,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1745487689,
"narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=",
"lastModified": 1746557022,
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3",
"rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860",
"type": "github"
},
"original": {
@ -175,11 +175,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1745526057,
"narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=",
"lastModified": 1746663147,
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f771eb401a46846c1aebd20552521b233dd7e18b",
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
"type": "github"
},
"original": {
@ -223,11 +223,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1745487689,
"narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=",
"lastModified": 1746557022,
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3",
"rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860",
"type": "github"
},
"original": {
@ -274,11 +274,11 @@
]
},
"locked": {
"lastModified": 1745310711,
"narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=",
"lastModified": 1746485181,
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
"owner": "mic92",
"repo": "sops-nix",
"rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c",
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
"type": "github"
},
"original": {
@ -295,11 +295,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1745727291,
"narHash": "sha256-YW/V93WgJur6a3BVa1jynlKr2pyZlEpiXXjQjpSHc5s=",
"lastModified": 1746738008,
"narHash": "sha256-bIMysaVhNyjuFgt8QpnGZv0T4YMao26Vz5R/xfYAJO0=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "9e5c7a2e7f1ab3118ec9b7179eb28667a3575f0e",
"rev": "a43fae27f33f8d3e793a6ca2946190cb24a00b03",
"type": "github"
},
"original": {
@ -329,11 +329,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1745757285,
"narHash": "sha256-kDCv++sAfALKJM4unFdX6Pz3R4y2twchJ8lSLOIOkbQ=",
"lastModified": 1746846243,
"narHash": "sha256-AV7zvbi1SVbGxODW7SKw3MhMkS1SQNNwp+XEky14rR4=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "e70d270a3927d8e78254ad049908b3535ba40f73",
"rev": "efa32c933ca9f6341bbf57ede9a674d45ebe72e2",
"type": "github"
},
"original": {

80
hosts/pi4/caddy.nix Normal file
View File

@ -0,0 +1,80 @@
let
domain = "martials.no";
in
{
services.caddy = {
enable = true;
email = "cert@${domain}";
virtualHosts =
let
reverseProxy = port: "reverse_proxy localhost:${builtins.toString port}";
in
{
"beta.${domain}".extraConfig = ''
redir https://${domain}{uri}
'';
"git.${domain}".extraConfig = ''
redir https://code.${domain}{uri}
'';
# Gitea
"code.${domain}".extraConfig = ''
${reverseProxy 3000}
'';
# Nextcloud
"nextcloud.${domain}".extraConfig = ''
redir /.well-known/carddav /remote.php/dav 301
redir /.well-known/caldav /remote.php/dav 301
${reverseProxy 11000}
'';
# Kitchenowl
"kitchenowl.${domain}".extraConfig = ''
${reverseProxy 800}
'';
# Actual Budget
"budget.${domain}".extraConfig = ''
${reverseProxy 5006}
'';
# Uptime Kuma
"status.${domain}".extraConfig = ''
${reverseProxy 3001}
'';
# Headscale
"vpn.${domain}".extraConfig = ''
reverse_proxy /web* localhost:8084
reverse_proxy * localhost:8082
'';
# Headscale SmartDNS
"dns.${domain}".extraConfig = ''
${reverseProxy 8082}
'';
# FreshRSS
"rss.${domain}".extraConfig = ''
${reverseProxy 8085}
'';
# Ente backend
"api.ente.${domain}".extraConfig = ''
${reverseProxy 8083}
'';
# Ente Photos frontend
"ente.${domain}".extraConfig = ''
${reverseProxy 3003}
'';
# Ente Auth frontend
"mfa.${domain}".extraConfig = ''
${reverseProxy 3004}
'';
# Homepage / portfolio
"${domain}".extraconfig = ''
${reverseProxy 4321}
'';
# Yamtrack
"track.${domain}".extraConfig = ''
${reverseProxy 8090}
'';
# Postal
"mail.${domain}".extraConfig = ''
${reverseProxy 5000}
'';
};
};
}

View File

@ -2,6 +2,10 @@
networking = {
firewall = {
enable = true;
allowedTCPPorts = [
80
443
];
trustedInterfaces = [ "tailscale0" ];
extraInputRules =
let

View File

@ -3,5 +3,6 @@
{
environment.systemPackages = with pkgs; [
onlyoffice-desktopeditors
planify
];
}