AquaticOS/modules/servers/containers/stash.nix

57 lines
No EOL
1.4 KiB
Nix

{ inputs, ... }:
{
flake.modules.nixos.stash =
{ lib, ... }:
{
imports = with inputs.self.modules.nixos; [
podman
];
virtualisation.oci-containers.containers."stash" = {
image = "docker.io/stashapp/stash:latest";
volumes = [
"/etc/localtime:/etc/localtime:ro"
"/DockerData/configs/stash/config:/root/.stash"
"/samba/aqua/New Folder:/data"
"/DockerData/configs/stash/metadata:/metadata"
"/DockerData/configs/stash/cache:/cache"
"/DockerData/configs/stash/blobs:/blobs"
"/DockerData/configs/stash/generated:/generated"
];
ports = [
"9999:9999"
];
labels = {
"io.containers.autoupdate" = "registry";
};
environment = {
"STASH_STASH"="/data/";
"STASH_GENERATED"="/generated/";
"STASH_METADATA"="/metadata/";
"STASH_CACHE"="/cache/";
"STASH_PORT"="9999";
};
log-driver = "journald";
};
systemd = {
services = {
"podman-stash" = {
serviceConfig = {
Restart = lib.mkOverride 90 "always";
};
partOf = [ "podman-compose-stash-root.target" ];
wantedBy = [ "podman-compose-stash-root.target" ];
};
};
targets = {
"podman-compose-stash-root" = {
wantedBy = [ "multi-user.target" ];
};
};
};
};
}