{ pkgs, ... }: let entrypoint = pkgs.writeTextFile { name = "entrypoint"; executable = true; destination = "/bin/entrypoint"; text = builtins.readFile ./entrypoint.sh; }; flood-for-transmission = pkgs.runCommandLocal "flood-for-transmission" { } '' mkdir -p $out/var/www cp -r ${pkgs.flood-for-transmission} $out/var/www/transmission ''; in pkgs.dockerTools.buildImage { name = "transmission-protonvpn"; fromImage = import ../base { inherit pkgs; }; copyToRoot = pkgs.buildEnv { name = "root"; paths = [ entrypoint flood-for-transmission pkgs.transmission_4 pkgs.wireguard-tools pkgs.libnatpmp pkgs.curl pkgs.jq ]; pathsToLink = [ "/bin" "/lib" "/share" "/var" ]; }; runAsRoot = '' mkdir -p /tmp ''; config = { Entrypoint = [ "entrypoint" ]; ExposedPorts = { "9091/tcp" = { }; }; Volumes = { "/etc/transmission" = { }; "/var/lib/transmission" = { }; }; Env = [ "TRANSMISSION_HOME=/etc/transmission" "TRANSMISSION_WEB_HOME=/var/www/transmission" ]; }; }