From 77a36d45eb47325112a26b3a6bd5c866664f7b44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Thu, 29 Aug 2024 08:16:37 +0000 Subject: [PATCH] nix: experimental support for building a Docker image Run using something like: ``` docker run \ --device nvidia.com/gpu=all \ -it --rm -p 8080:80 \ -v $PWD/data:/data \ -v $PWD/tmp:/tmp \ tgi-docker:latest \ --model-id ``` --- flake.nix | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 1b396453..ddd31a18 100644 --- a/flake.nix +++ b/flake.nix @@ -141,15 +141,31 @@ }; }; - packages.default = pkgs.writeShellApplication { - name = "text-generation-inference"; - runtimeInputs = [ - server - router - ]; - text = '' - ${launcher}/bin/text-generation-launcher "$@" - ''; + packages = rec { + default = pkgs.writeShellApplication { + name = "text-generation-inference"; + runtimeInputs = [ + server + router + ]; + text = '' + ${launcher}/bin/text-generation-launcher "$@" + ''; + }; + + dockerImage = pkgs.dockerTools.buildLayeredImage { + name = "tgi-docker"; + tag = "latest"; + config = { + EntryPoint = [ "${default}/bin/text-generation-inference" ]; + Env = [ + "HF_HOME=/data" + "PORT=80" + ]; + + }; + contents = [ pkgs.cacert ]; + }; }; } );