on master help sign in
adjust PATH to contain contents and coreutils
commit8ffa20c81b43fc3d49a0f3d8aa65acd5db2a1872 authorDan Bornside <dan.bornside@obsidian.systems> dateFri 13 Sep 2019, 13:42 (7 years ago) parent4bc2397
1 file changed+12−10
default.nix+12−10
default.nix+12−10
@@ -237,27 +237,29 @@ in rec {
237237 };
238238 };
239239
240− dockerImage = args@{exe, name, version}: let
240+ dockerImage = args@{exe, name, version, extraContents ? [], extraPaths ? []}: let
241241 appDirSetupScript = nixpkgs.runCommand "appDirSetupScript.sh" {} ''
242− mkdir -p $out/var/run/backend
243− ln -sft $out/var/run/backend '${exe}'/*
244− ${nixpkgs.findutils}/bin/find $out/var/run/backend
242+ mkdir -p $out/var/lib/backend
243+ ln -sft $out/var/lib/backend '${exe}'/*
244+ ${nixpkgs.findutils}/bin/find $out/var/lib/backend
245245 '';
246246
247247 in nixpkgs.dockerTools.buildImage {
248248 name = name;
249249 tag = version;
250− contents = [ nixpkgs.iana-etc nixpkgs.cacert appDirSetupScript ];
250+ contents = [ nixpkgs.iana-etc nixpkgs.cacert appDirSetupScript ] ++ extraContents;
251251 keepContentsDirlinks = true;
252252 config = {
253253 Env = [
254− ("PATH=" + builtins.concatStringsSep(":")([
255− "/var/run/backend"
256− ]))
254+ ("PATH=" + builtins.concatStringsSep(":")(extraPaths ++ [
255+ "/var/lib/backend" # put the obelisk project on the path.
256+ "/bin" # put contents on path
257+ ] ++ map (pkg: "${pkg}/bin") pkgs.stdenv.initialPath # put common tools in path so docker exec is useful
258+ ))
257259 ];
258260 Expose = 8000;
259− Entrypoint = ["/var/run/backend/backend"];
260− WorkingDir = "/var/run/backend";
261+ Entrypoint = ["/var/lib/backend/backend"];
262+ WorkingDir = "/var/lib/backend";
261263 User = "99:99";
262264 };
263265 };