From 837909ea69ed09ceaec2b0463ece899b185e4365 Mon Sep 17 00:00:00 2001 From: durch Date: Thu, 16 Nov 2023 10:57:31 +0100 Subject: [PATCH] Add debian scaffolding, allow specifying home_dir in env --- common/config/src/lib.rs | 12 ++++++++++-- mixnode/debian/postinst | 6 ++++++ mixnode/debian/service | 10 ++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 mixnode/debian/postinst create mode 100644 mixnode/debian/service diff --git a/common/config/src/lib.rs b/common/config/src/lib.rs index 3a9104eeb6..110fc33cdd 100644 --- a/common/config/src/lib.rs +++ b/common/config/src/lib.rs @@ -25,12 +25,20 @@ pub const DEFAULT_CONFIG_FILENAME: &str = "config.toml"; #[cfg(feature = "dirs")] pub fn must_get_home() -> PathBuf { - dirs::home_dir().expect("Failed to evaluate $HOME value") + if let Some(home_dir) = std::env::var_os("NYM_HOME_DIR") { + home_dir.into() + } else { + dirs::home_dir().expect("Failed to evaluate $HOME value") + } } #[cfg(feature = "dirs")] pub fn may_get_home() -> Option { - dirs::home_dir() + if let Some(home_dir) = std::env::var_os("NYM_HOME_DIR") { + Some(home_dir.into()) + } else { + dirs::home_dir() + } } pub trait NymConfigTemplate: Serialize { diff --git a/mixnode/debian/postinst b/mixnode/debian/postinst new file mode 100644 index 0000000000..b8c7d195ed --- /dev/null +++ b/mixnode/debian/postinst @@ -0,0 +1,6 @@ +#DEBHELPER# + +useradd nym +mkdir -p /etc/nym +chown -R nym /etc/nym +su nym -c nym-mixnode init --host 0.0.0.0 --id nym-mixnode diff --git a/mixnode/debian/service b/mixnode/debian/service new file mode 100644 index 0000000000..6f8cb78b30 --- /dev/null +++ b/mixnode/debian/service @@ -0,0 +1,10 @@ +[Unit] +Description=Nym Mixnode +After=network-online.target + +[Service] +ExecStart=/usr/bin/nym-mixnode run --id nym-mixnode +User=nym + +[Install] +WantedBy=multi-user.target