From 8d4a4e5c20bbd025a7487062b128f17ec348db23 Mon Sep 17 00:00:00 2001 From: Dmitriy Kholkin Date: Fri, 21 Oct 2022 14:03:19 +0300 Subject: [PATCH] stable-diffusion-webui docker --- machines/AMD-Workstation/default.nix | 1 + profiles/servers/stable-diffusion.nix | 34 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 profiles/servers/stable-diffusion.nix diff --git a/machines/AMD-Workstation/default.nix b/machines/AMD-Workstation/default.nix index d7fa1fb..8996828 100644 --- a/machines/AMD-Workstation/default.nix +++ b/machines/AMD-Workstation/default.nix @@ -3,6 +3,7 @@ ./hardware-configuration.nix inputs.self.nixosRoles.workstation + inputs.self.nixosProfiles.stable-diffusion # inputs.self.nixosModules.passthrough ]; diff --git a/profiles/servers/stable-diffusion.nix b/profiles/servers/stable-diffusion.nix new file mode 100644 index 0000000..2a21ced --- /dev/null +++ b/profiles/servers/stable-diffusion.nix @@ -0,0 +1,34 @@ +{ config, lib, pkgs, ... }: +let + # init = pkgs.writeScript "init.sh" '' + # CHANGEME + # ''; +in with config.virtualisation.oci-containers; { + virtualisation.oci-containers.containers.stable-diffusion = { + # autoStart = true; + autoStart = false; + cmd = [ "./init.sh" ]; + extraOptions = [ + "--device=/dev/kfd" + "--device=/dev/dri" + "--group-add=video" + "--ipc=host" + "--cap-add=SYS_PTRACE" + "--security-opt" + "seccomp=unconfined" + "--hostname=stable-diffusion-ct" + ]; + image = "rocm-arch"; + ports = [ "80:7860/tcp" ]; + volumes = [ + "/home/alukard/projects/rocm-terminal/shared:/shared" + ]; + }; + + systemd.services."${backend}-stable-diffusion" = { + preStop = lib.mkForce "${backend} stop -t 10 stable-diffusion"; + serviceConfig.TimeoutStopSec = lib.mkForce 15; + }; + + networking.firewall.allowedTCPPorts = [ 7860 ]; +}