{ config, ... }: let workDir = "/srv/containers/clementines"; in { systemd.tmpfiles.rules = [ "d ${workDir} 2770 root admin" ]; virtualisation.oci-containers.containers = { clementines-couchdb = { autoStart = true; image = "couchdb"; ports = [ "0.0.0.0:10010:5984" ]; volumes = [ "${workDir}:/opt/couchdb/data" "${config.age.secrets.clementines-jwt.path}:/opt/couchdb/etc/local.d/jwt.ini:ro" ]; 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" ]; }; 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" ]; }; }; }