installSaltcorn = async (osInfo, user, db, mode, port, dryRun) => {
  /*
adduser --disabled-password --gecos "" saltcorn
sudo -iu saltcorn mkdir -p /home/saltcorn/.config/
sudo -iu saltcorn npm config set prefix /home/saltcorn/.local
sudo -iu saltcorn NODE_ENV=production npm install -g @saltcorn/cli@latest --unsafe
echo 'export PATH=/home/saltcorn/.local/bin:$PATH' >> /home/saltcorn/.bashrc
 */
  //if (user === "saltcorn")
  const isSUSE = osInfo.distro.includes("SUSE");
  if (user !== "root") {
    if (isSUSE) await asyncSudo(["groupadd", user], true, dryRun);
    await asyncSudo(
      isRedHat(osInfo)
        ? ["adduser", user]
        : isSUSE
        ? ["useradd", "-g", user, "-d", "/home/" + user, "-m", user]
        : ["adduser", "--disabled-password", "--gecos", '""', user],
      true,
      dryRun
    );
  }
  const { configFileDir } = get_paths(user);

  await asyncSudoUser(user, ["mkdir", "-p", configFileDir], false, dryRun);
  const npmPrefix = `/home/${user}/.local/`;
  await asyncSudoUser(
    user,
    ["npm", "config", "set", "prefix", npmPrefix],
    false,
    dryRun
  );
  await asyncSudoUser(
    user,
    [
      "npm",
      "install",
      "-g",
      "--legacy-peer-deps",
      `@saltcorn/cli@${nextNpmTag ? "next" : "latest"}`,
      "--omit=dev",
    ],
    false,
    dryRun,
    { npm_config_prefix: npmPrefix }
  );
  await asyncSudoUser(
    user,
    ["npm", "install", "-g", "sd-notify"],
    true,
    dryRun,
    { npm_config_prefix: npmPrefix }
  );
  await asyncSudo(
    [
      "bash",
      "-c",
      `echo 'export PATH=/home/${user}/.local/bin:$PATH' >> /home/${user}/.bashrc`,
    ],
    false,
    dryRun
  );
}
Install Saltcorn
@param osInfo
@param user
@param db -
@param mode - server running mode
@param port
@param dryRun
@returns {Promise<void>}