1
1
Fork 1
mirror of https://github.com/oddlama/nix-config.git synced 2025-10-10 23:00:39 +02:00

chore: rekey immich secrets, allow influx access from local service net

This commit is contained in:
oddlama 2025-09-14 17:31:40 +02:00
parent 0537f69d5e
commit 3dc6133a1a
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
20 changed files with 51 additions and 43 deletions

View file

@ -12,7 +12,7 @@
# The identities that are used to rekey agenix secrets and to # The identities that are used to rekey agenix secrets and to
# decrypt all repository-wide secrets. # decrypt all repository-wide secrets.
secretsConfig = { secretsConfig = {
masterIdentities = [ "\"$PRJ_ROOT\"/secrets/yk1-nix-rage.pub" ]; masterIdentities = [ ../secrets/yk1-nix-rage.pub ];
extraEncryptionPubkeys = [ ../secrets/backup.pub ]; extraEncryptionPubkeys = [ ../secrets/backup.pub ];
}; };
}; };

View file

@ -52,11 +52,14 @@ in
services.immich = { services.immich = {
enable = true; enable = true;
host = "0.0.0.0";
# We use VectorChord from the beginning # We use VectorChord from the beginning
database.enableVectors = false; database.enableVectors = false;
environment = { environment = {
IMMICH_LOG_LEVEL = "verbose"; IMMICH_LOG_LEVEL = "verbose";
IMMICH_TRUSTED_PROXIES = lib.concatStringsSep "," [ IMMICH_TRUSTED_PROXIES = lib.concatStringsSep "," [
globals.wireguard.proxy-home.hosts.ward-web-proxy.ipv4
globals.wireguard.proxy-sentinel.hosts.sentinel.ipv4
]; ];
}; };
settings = { settings = {
@ -269,9 +272,9 @@ in
client_max_body_size 50G; client_max_body_size 50G;
proxy_buffering off; proxy_buffering off;
proxy_request_buffering off; proxy_request_buffering off;
proxy_read_timeout 600s; proxy_read_timeout 1200s;
proxy_send_timeout 600s; proxy_send_timeout 1200s;
send_timeout 600s; send_timeout 1200s;
allow ${globals.net.home-lan.vlans.home.cidrv4}; allow ${globals.net.home-lan.vlans.home.cidrv4};
allow ${globals.net.home-lan.vlans.home.cidrv6}; allow ${globals.net.home-lan.vlans.home.cidrv6};
# Firezone traffic # Firezone traffic

View file

@ -105,6 +105,8 @@ in
virtualHosts.${influxdbDomain} = virtualHosts.${influxdbDomain} =
let let
accessRules = '' accessRules = ''
allow ${globals.net.home-lan.vlans.services.cidrv4};
allow ${globals.net.home-lan.vlans.services.cidrv6};
allow ${globals.wireguard.proxy-home.cidrv4}; allow ${globals.wireguard.proxy-home.cidrv4};
allow ${globals.wireguard.proxy-home.cidrv6}; allow ${globals.wireguard.proxy-home.cidrv6};
deny all; deny all;

View file

@ -1 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKE+geXK2RVVNwZVoYOuX7pW+6mbgCa9SIghJCdHmbSB ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFAKUJTsBJfQTTVZMS2qTYYIBe2sM56XYRCrvlUm/UtF

View file

@ -48,6 +48,7 @@ in
domains = { domains = {
api = mkOption { api = mkOption {
type = types.str; type = types.str;
example = "api.ente.example.com";
description = '' description = ''
The domain under which the api is served. This will NOT serve the api itself, The domain under which the api is served. This will NOT serve the api itself,
but is a required setting to host the frontends! This will automatically be set but is a required setting to host the frontends! This will automatically be set
@ -57,21 +58,25 @@ in
accounts = mkOption { accounts = mkOption {
type = types.str; type = types.str;
example = "accounts.ente.example.com";
description = "The domain under which the accounts frontend will be served."; description = "The domain under which the accounts frontend will be served.";
}; };
cast = mkOption { cast = mkOption {
type = types.str; type = types.str;
example = "cast.ente.example.com";
description = "The domain under which the cast frontend will be served."; description = "The domain under which the cast frontend will be served.";
}; };
albums = mkOption { albums = mkOption {
type = types.str; type = types.str;
example = "albums.ente.example.com";
description = "The domain under which the albums frontend will be served."; description = "The domain under which the albums frontend will be served.";
}; };
photos = mkOption { photos = mkOption {
type = types.str; type = types.str;
example = "photos.ente.example.com";
description = "The domain under which the photos frontend will be served."; description = "The domain under which the photos frontend will be served.";
}; };
}; };
@ -85,17 +90,18 @@ in
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = defaultUser; default = defaultUser;
description = "User under which museum runs."; description = "User under which museum runs. If you set this option you must make sure the user exists.";
}; };
group = mkOption { group = mkOption {
type = types.str; type = types.str;
default = defaultGroup; default = defaultGroup;
description = "Group under which museum runs."; description = "Group under which museum runs. If you set this option you must make sure the group exists.";
}; };
domain = mkOption { domain = mkOption {
type = types.str; type = types.str;
example = "api.ente.example.com";
description = "The domain under which the api will be served."; description = "The domain under which the api will be served.";
}; };
@ -182,6 +188,7 @@ in
services.ente.web.domains.api = mkIf cfgWeb.enable cfgApi.domain; services.ente.web.domains.api = mkIf cfgWeb.enable cfgApi.domain;
services.ente.api.settings = { services.ente.api.settings = {
# This will cause logs to be written to stdout/err, which then end up in the journal
log-file = mkDefault ""; log-file = mkDefault "";
db = mkIf cfgApi.enableLocalDB { db = mkIf cfgApi.enableLocalDB {
host = "/run/postgresql"; host = "/run/postgresql";
@ -245,6 +252,7 @@ in
BindReadOnlyPaths = [ BindReadOnlyPaths = [
"${cfgApi.package}/share/museum/migrations:${dataDir}/migrations" "${cfgApi.package}/share/museum/migrations:${dataDir}/migrations"
"${cfgApi.package}/share/museum/mail-templates:${dataDir}/mail-templates" "${cfgApi.package}/share/museum/mail-templates:${dataDir}/mail-templates"
"${cfgApi.package}/share/museum/web-templates:${dataDir}/web-templates"
]; ];
User = cfgApi.user; User = cfgApi.user;

Binary file not shown.

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 08+xhQ AZXVC7nTbtFBasccwllDvt3ic4NMeJu73tkzTooLORs
2yGRtqkypbochm/I1CowFSJZZ8qNPulmApP4ABlKvsU
-> 4`V#:p2-grease
yhfMojghx2Ne+5JDobIA
--- fH0ZmRzP4/lsJ9ykQVGDEPlyUohPuKJPgqXOlIilyL4
êvïì7TÓ—“¸¾º^þ¡SÏN#œ…¬ÁN&u§‘ƒ_bx&êÃU¥9 DJ
ðL®{QÔ À½ÝF[G™&×B´

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 08+xhQ zg3qtzqOOj46luUhOUenMw3dfVz/PafKgVhj+7vljmY
hKRXQOn+qJ2qe82pIqbFqU7dkNt5p0zq6lC9q8vI0ys
-> E-grease 8#' Em.z$3-F
qNx4gWPSptpfLup7uDupqbkB0MoCBsFn7ZJhAILgRnzgkLYlG8rTSbxT
--- rEocn7eWbz8gSpaJOnC7YswKcci0Jmy87dxABXILzqg
Ëç´cV>Òž~N¨Õ÷0Rá6n“/Z˜[m¦�.3Gž'\$ÌõüCՌͣ¶y‡Á¿c kÁ±°G¥è.åQlñÈ�]äE/
9

View file

@ -1,7 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 U8ytLQ veKTrJX4Srbh92lE3hPO4NTpeNzP/NuUmfZHWIAcTEU
jW3uyW7qos8LSsAyQ56gZa5NBCJVUqZVu8KZHe0v0iE
-> sVVZ{H-grease ~J3,Ud i+P
wb4kp+Ii
--- PJ20pWfjTwBwh2Dr+q6Gob16aGbH61ilptbCzQn0jEQ
;˜VvK¬â_œs‚÷õ«�qå“àP0=QbóX¤õ��ö¬s.É.i]vüÒùAï�Žè¦í->m©ŸF“ÉSxT|;{vUÇìµjfs

View file

@ -1,7 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 U8ytLQ kjGqE0PbVbxIqRS4RdHdmhNFr8Sv3jDfFPdjnnlVj0Q
lz5h6PSyLBXMTUTdS4uzBiPi3yNXdhsxvYw5TT3i8Uc
-> ?~Rt$#-grease uWLiw,w> ZfFM;)
guaxvIRwfg
--- UFQfXS855+dhnxARJ4M5W0qHdsgTjkfgRu0yjd/tBYU
ÑxÆ( Z¸‰TVÛJ<K"?(Y?¯TWga.°Ä¼áÝ*ŸÙ÷d6 TQ™Ö�<éŒ^ŒG,gσŸÕB¾+ŽU¦-te¤

View file

@ -1,7 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 U8ytLQ 1x2w+U7iZ59hW1cymklltoWgBoo9Iao1YnsP0dYsJyE
8Yax1Uq2UZCEPysMfcu/mvkO0cLdnTFJ+lLTglZEhD0
-> Mo>ig-grease
gyxTtneFjCxPTo53gPgqBMm/dUTNqw7SSGXZ9wFTK3I
--- 2kvAlqhkxaAZcY0qewhgWahfiafgZSKZm7T3x8O5wxI
û,ÂC¤¶c-œz#ð5#,¾úUVÀ¶­ev®;NŒó"¶¦Õ¢ÌÝɬÈi±\(¥ê)[îÍÐR\Èò7@†¾véܲ¯Æ¾NϹΎ­{©4

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 08+xhQ GOn8a+tEBtiwUxioNd2fk5PrWNkT+awF+XzbClQJ6Qg
xltPAmFpS3qUO8sNKRuvsdSaf72RvDnZO+RijXg6Qg0
-> 39!T/O'-grease ~v?U;y
egK+Kho4rgecwrv9gmcK/C2dJnbd+SGF73FGl3XIzlJwfkRzRvamV978lA4uyrcF
vw
--- Nkp782AMG8OclXPvKR7fy334Umjsa/x1jXe6MA1q6CM
Ü[ùÌ>@QR‡áMmïG`Ÿ*×ÑOT;xöö° !ûT?¹_,Ç„ Ö¶ {'ž€‰Õ¬Y&Gkf»M¡˜éH|UΠ ì_áóbÕ

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 08+xhQ CFoQPo0bwvS1VyUbOOq4fk/DHs6EZNoxf9patvaAyis
2U2S/yiSKY7+eE28APeakHdTrVTp4BAb9T2T0G26wfU
-> g8r-grease :K-IEEo5
PQV599Ol7XmAsiS5r6E86w
--- 6iGZ2tBk1eTu+zztYN2oLUXZr5vb8iYCQR92gqf50zo
¸¯Áµ”�gó0à‹ÐÅ[ŸBî´?§¼n'xÃÀo:ìÞæž¾ wÈú'AÓ¨Öa—<vXdÙâÄž˜D:bÎùñª¯�™…­¡"ÖƒDß(—Ƙ>

View file

@ -1,7 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 U8ytLQ QRKqBGrzPBO8uDJtAjIpOVcir6L5beNr0wS3iVXQFiY
YjTxSInhMSU0yogxBupf2311z5OXeNrSSkQpU4d34OM
-> o3E-grease ~ E<I*AS 1> Y+:|pOC
/8vpx1EmpwyfX3vwNpjAMMFCoRuoP3w1RLWAgqj5J1tIb48O0Wc
--- EIeRKimHpArrdLioRUJ2rEa6uBOiAolXK1J1Sej37WE
9¥CõKÚ•OíÐù´uޝ1ŒGú1ï†Fü/0¹b=Lß0dsAèjSØ€¡Þ|^ö1E�ͪËà� ÁCöõî(±9Sc:Ì

View file

@ -1,8 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 U8ytLQ odwIDreVyKb1UHckjz1/1PKET4rluHdxFVJ2naBOKhM
PJyoiRA65kd2272oq3Irup5gBq9sWDMgkIbkPbIa+IU
-> HDe/yru:-grease ee~+
g5uaAbBGEy/dJPeFuKdCqdvlIbcxeoVQMQ/y7hwgJQI68DOwpdAggi12cMYt+mlM
yNE2Lb6p4xO8BRF0
--- Xl6hjCyuuxnKdBNe3/x6jqvDsoaHDBYIzO8nV0DRuVs
í¥f¤ÚÛÿ01VázµçVsæitúÁ%áœ}HùÓ ìòåÛ�=«ó¸èFá¾›: _�Ùwy±)v²”ª0Plý"%-y¼ëbQ줜K