如何 运行 Scala 应用作为系统用户使用 sbt

How to run Scala app as system user with sbt

我正在使用 sbt 制作应用程序。我想在 /var/lib/$appname 中存储一些文件。我已经创建了系统组和系统用户:

groupadd -r $appname

useradd -M -r --home /var/lib/$appname --shell /sbin/nologin --gid $appname $appname

现在我需要我的代码作为该用户运行,但我不确定如何。我在我的应用程序中执行了 whoami,看到它是 运行ning 作为我的登录用户。

如何将 sbt 配置为 运行 作为该系统用户的应用程序?

有多种方法可以做到这一点。一种方法是使用 sbt-native-packager plugin to generate a package for your distribution and then install it using your distribution's package manager. You can use the “Java Server Application” archetype and the daemonUser 设置来配置用户。 sbt-native-packager 还将通过生成 systemd 或 upstart 配置文件 and/or 初始化脚本与您的初始化系统集成。