Compare commits

..

No commits in common. "1ab0900045d6646098d296f2d7005c5ebd97c9ee" and "6a02df9e1f31ce3819dc1953c33cf1eec427f5d5" have entirely different histories.

10 changed files with 34 additions and 95 deletions

View file

@ -223,11 +223,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1702110869, "lastModified": 1701728041,
"narHash": "sha256-hgbzPjIMLYJf3Ekq9qZCpDcIZn1BZmOp7d6PMkIWknU=", "narHash": "sha256-x0pyrI1vC8evVDxCxyO6olOyr4wlFg9+VS3C3p4xFYQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7db6291d95693374d408f4877c265ec7481f222b", "rev": "ac7216918cd65f3824ba7817dea8f22e61221eaf",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -154,7 +154,7 @@
(import ./nix/oracle-nix-cache/configuration.nix) (import ./nix/oracle-nix-cache/configuration.nix)
{ {
_module.args.nixinate = { _module.args.nixinate = {
host = "100.98.25.34"; host = "100.110.30.80";
sshUser = "root"; sshUser = "root";
buildOn = "remote"; buildOn = "remote";
substituteOnTarget = true; substituteOnTarget = true;

View file

@ -120,10 +120,10 @@
}; };
}; };
} }
{ "Proxmox Homelab" = { { "Proxmox Sandbox" = {
icon = "proxmox.png"; icon = "proxmox.png";
href = "https://proxmox.scorpion-ghost.ts.net"; href = "https://proxmox.scorpion-ghost.ts.net";
description = "Homelabe proxmox"; description = "Sandbox proxmox instance on Hetzner";
widget = { widget = {
type = "proxmox"; type = "proxmox";
url = "https://proxmox.scorpion-ghost.ts.net"; url = "https://proxmox.scorpion-ghost.ts.net";
@ -132,17 +132,6 @@
}; };
}; };
} }
{ "Immich" = {
icon = "immich.png";
href = "https://photos.gmem.ca";
description = "Image hosting";
widget = {
type = "immich";
url = "https://photos.gmem.ca";
key = "{{HOMEPAGE_VAR_IMMICH_KEY}}";
};
};
}
]; ];
} }
{ {

View file

@ -1,47 +0,0 @@
{ lib, config, kubenix, ... }: {
kubernetes.helm.releases.immich = {
chart = kubenix.lib.helm.fetch {
repo = "https://immich-app.github.io/immich-charts";
chart = "immich";
version = "0.2.0";
sha256 = "7G7xfJ+Ay4TQUBiOPYr9Zl/hDDhCpZQbuKDQWl3Hmrg=";
};
# arbitrary attrset passed as values to the helm release
values = {
image.tag = "v1.90.2";
machine-learning.enabled = false;
typesense.enabled = true;
typesense.persistence.tsdata.enabled = true;
immich.persistence.library.existingClaim = "immich";
redis.enabled = true;
env = {
PGSSLMODE = "no-verify";
DB_URL.valueFrom.secretKeyRef = {
name = "hippo-pguser-immich";
key = "uri";
};
};
server.ingress.main = {
enabled = true;
annotations = {
"cert-manager.io/issuer" = "le-issuer";
};
tls = [ { hosts = [ "photos.gmem.ca" ]; secretName = "gmem-ca-wildcard"; } ];
hosts = [
{
host = "photos.gmem.ca";
paths = [ { path = "/"; } ];
}
];
};
};
};
kubernetes.resources.persistentVolumeClaims.immich = {
metadata.name = "immich";
spec = {
accessModes = ["ReadWriteOnce"];
resources.requests.storage = "50Gi";
};
};
}

View file

@ -5,6 +5,5 @@
(import ./tclip.nix) (import ./tclip.nix)
(import ./vrchat-prometheus-exporter.nix) (import ./vrchat-prometheus-exporter.nix)
(import ./overseerr.nix) (import ./overseerr.nix)
(import ./immich.nix)
(import ./homepage.nix) ]; (import ./homepage.nix) ];
} }

View file

@ -30,12 +30,12 @@ in
ports.metrics.containerPort = 5055; ports.metrics.containerPort = 5055;
resources = { resources = {
requests = { requests = {
cpu = "500m"; cpu = "50m";
memory = "128Mi"; memory = "32Mi";
}; };
limits = { limits = {
cpu = "1"; cpu = "500m";
memory = "512Mi"; memory = "256Mi";
}; };
}; };
}; };

View file

@ -48,9 +48,6 @@ spec:
- name: authentik - name: authentik
databases: databases:
- authentik - authentik
- name: immich
databases:
- immich
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
@ -60,22 +57,3 @@ data:
init.sql: | init.sql: |
\c authentik \c authentik
GRANT CREATE ON SCHEMA public TO "authentik"; GRANT CREATE ON SCHEMA public TO "authentik";
\c immich
GRANT CREATE ON SCHEMA public TO "immich";
---
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: hippo
spec:
selector:
matchLabels:
postgres-operator.crunchydata.com/cluster: hippo
postgres-operator.crunchydata.com/crunchy-postgres-exporter: "true"
podTargetLabels:
- postgres-operator.crunchydata.com/cluster
- postgres-operator.crunchydata.com/role
- postgres-operator.crunchydata.com/instance
podMetricsEndpoints:
- port: exporter
interval: 30s

View file

@ -191,6 +191,20 @@
]; ];
}; };
}; };
coredns = {
enable = true;
config =
''
.:53 {
prometheus 100.116.48.47:9253
health
file /var/src/dns.db git.gmem.ca food.gmem.ca
forward . 45.90.28.116 45.90.30.116
bind tailscale0
}
'';
};
pipewire = { pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;

9
nix/nas/dns.db Normal file
View file

@ -0,0 +1,9 @@
git.gmem.ca. 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. 2015082541 7200 3600 1209600 3600
food.gmem.ca. 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. 2015082541 7200 3600 1209600 3600
git.gmem.ca. 3600 IN A 100.116.48.47
git.gmem.ca. 3600 IN AAAA fd7a:115c:a1e0:ab12:4843:cd96:6274:302f
food.gmem.ca. 3600 IN A 100.77.43.133
food.gmem.ca. 3600 IN AAAA fd7a:115c:a1e0:ab12:4843:cd96:624d:2b85
gmem.ca. 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. 2015082541 7200 3600 1209600 3600
gmem.ca. 3600 IN NS ruth.ns.cloudflare.com. seth.ns.cloudflare.com.

View file

@ -111,16 +111,13 @@
recommendedProxySettings = true; recommendedProxySettings = true;
}; };
}; };
"photos.gmem.ca" = { "prometheus.gmem.ca" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
proxyWebsockets = true; proxyWebsockets = true;
proxyPass = "https://pi.gmem.ca"; proxyPass = "https://pi.gmem.ca";
recommendedProxySettings = true; recommendedProxySettings = true;
extraConfig = ''
client_max_body_size 50000M;
'';
}; };
}; };
}; };