nixos/modules/containers/nextcloud.nix

59 lines
1.3 KiB
Nix

{ config, ... }:
let
workDir = "/srv/containers/nextcloud";
dataDir = "/srv/data/nextcloud";
in
{
systemd.tmpfiles.rules = [
"d ${workDir}/html 2700 33 33"
"d ${workDir}/db 2700 999 999"
"d ${dataDir} 2770 33 admin"
];
virtualisation.oci-containers.containers = {
nextcloud = {
autoStart = true;
image = "nextcloud:32";
ports = [
"0.0.0.0:10003:80"
];
volumes = [
"${workDir}/html:/var/www/html"
"${dataDir}:/var/www/html/data"
];
environmentFiles = [
config.age.secrets.nextcloud.path
];
dependsOn = [
"nextcloud-db"
"nextcloud-redis"
];
extraOptions = [
"--group-add=10000" # admin group
];
};
nextcloud-db = {
image = "postgres:18"; # trixie
volumes = [
"${workDir}/db:/var/lib/postgresql"
];
environmentFiles = [
config.age.secrets.nextcloud-db.path
];
};
nextcloud-redis = {
image = "redis:8-alpine"; # trixie
};
};
}