containers: added specifically clementines

This commit is contained in:
Victor Ișan 2026-07-08 13:40:19 +02:00
parent 7fd209428a
commit 13c500596e
5 changed files with 103 additions and 0 deletions

View File

@ -22,6 +22,7 @@
../modules/containers/radarr.nix
../modules/containers/immich.nix
../modules/containers/argus.nix
../modules/containers/specificallyclementines.nix
];
# Disks

View File

@ -47,5 +47,11 @@
group = "admin";
mode = "0440";
};
clementines = {
file = ../secrets/clementines.age;
owner = "root";
group = "admin";
mode = "0440";
};
};
}

View File

@ -0,0 +1,71 @@
{ config, ... }:
let
workDir = "/srv/containers/clementines";
in
{
systemd.tmpfiles.rules = [
"d ${workDir}/dbdata 2770 root admin"
"d ${workDir}/dbetclocal 2770 root admin"
"d ${workDir}/frontend 2770 root admin"
];
virtualisation.oci-containers.containers = {
clementines-couchdb = {
autoStart = true;
image = "couchdb";
ports = [
"0.0.0.0:10010:5984"
];
volumes = [
"${workDir}/dbdata:/opt/couchdb/data"
"${workDir}/dbetclocal:/opt/couchdb/etc/local.d"
];
environmentFiles = [
config.age.secrets.clementines.path
];
extraOptions = [
"--group-add=10000"
];
};
clementines-frontend = {
autoStart = true;
image = "ghcr.io/davideshay/groceries-client:latest";
ports = [
"0.0.0.0:10011:8100"
];
volumes = [
"${workDir}/frontend/groceries-web.conf:/etc/nginx/conf.d/default.conf:ro"
];
extraOptions = [
"--group-add=10000"
];
};
clementines-backend = {
autoStart = true;
image = "ghcr.io/davideshay/groceries-server:latest";
ports = [
"0.0.0.0:10012:3333"
];
environmentFiles = [
config.age.secrets.clementines.path
];
dependsOn = [ "clementines-couchdb" ];
};
};
}

24
secrets/clementines.age Normal file
View File

@ -0,0 +1,24 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFA5bEdnQSBVVURu
QWxVQnk3bWh1clJrYTJWVkZpN0xqOU81YTl6dWdab29iU1JTYW1zCkI2VkhQakg4
WmJtZG44Rks5Yk5vMTEyOVp4dmdicDdybldNL0cyQjliOFUKLT4gc3NoLWVkMjU1
MTkgS0tuNDVBIHdqMjRRdGg4R3ZZSnhDWVEyNWg3YmxnVFFzV2dXQ1o4M3QrT29U
b2ZyMlkKZndFeDBjUjcyY3N5d0RPZW45Y1JVTTF5T29JcVdLRDY0L0NoTEpNNElY
cwotPiBsbXB+VS1ncmVhc2UgO3JmICM8fjssRCBuLV4wQXRZegpWWjR0OFR0WWVq
clJRYk5TSDM3dgotLS0gTlF5NXRkaGpXWVBsZXN0dDJ3VWo5L2g4Z1V3YTZ2eTkv
QXhBcURPdGs0YwoLyORoEg0qV8QwwHMLFkjWYyzlyOnNRmSNBF0lSsx/mBzywiAa
nZDnTsLQItVlMtDtZnwHS2g+t2QNfezUUhqiymuQQ9JrG9e1BcVrzr95FZZbWLB0
Z0eX1ApxHHEfE9PbEfyca5U4se6Ll1Hx0UFe0aBN1HNoFATWz7YI2PnGF+wucc7k
yOPzsr7lsbT2zufI/MZiyzwXeRXyr2wAWUw8yqKBPh8lbUR5Z0CONQm6Cxw6psDx
P/PdrjUhR/GU+GcZnAKOJ77iIj9hRhkaveVbb9WPQJcx40PNU59ZChk/puXMRMOR
moJSTQswdTBV5CEHizB/MXTB75kLUWG8IGhsPozv9ag8Z2a1wxlu0r5fNVHjEgg6
t1ITfJC45eyA/7pG97NogUSaGki5dUX6rCGvkVV9cRn30fEnHbpOCAIgOuD87nvO
iAXvcHckwRLPoVSi4WwgyuEAIqU3r19bEL9umouRYzjx7LdUUklO/y8UdqUiFY7g
MInuXpHVh8zJ2857SlP5N4YS3TXqvlCLsgUfLL6rdi2OtDXV9RvQ8/XGIEl1CzS7
G+FuRXT+XZAhK+HEvWEPcSpphUDLIbxcSuZ3TJ1ckz0zlAWhTvjftpvaoIuaLKFh
FbWXEY19GJ7YHIidDpc098F4VMR33xmOFgIoyo6nXX8SGS91JUh1hmIrPTvBwYEw
DIZ/tqGiNeO+YLt/ZGiXs8ZZVtNOi19oqsjovHQFLUKQvTgsy2Xlj2N+Uku+essI
b1cvuGH++tll93u2UBSjneNM3crAaK66E+3MnFcp1Jd0NTe5DR6rPg5S0yvF6nxv
WU9lH9paEx9ia7/R3iT7zc1s7FNhRfNVxEcxuMFInj+XqJ2ytQu2rwV/Oxwu/YeF
xv69gnS4Fivybsxf7xjf6gi/
-----END AGE ENCRYPTED FILE-----

View File

@ -12,4 +12,5 @@ in
"jitsi-env.age".publicKeys = [ victor isengard ];
"immich.age".publicKeys = [ victor isengard ];
"argus-conf.age".publicKeys = [ victor isengard ];
"clementines.age".publicKeys = [ victor isengard ];
}