From 69d18c31f9c957da6a8887983c02767e4634917d Mon Sep 17 00:00:00 2001 From: minoplhy Date: Tue, 29 Apr 2025 12:09:18 +0700 Subject: [PATCH] beszel: init.d pass all env to Beszel, update conf.d, pre-install adduser with nologin --- beszel/APKBUILD | 8 ++++---- beszel/beszel-agent.confd | 9 ++++++++- beszel/beszel-agent.initd | 9 ++++++--- beszel/beszel-agent.pre-install | 2 +- beszel/beszel.confd | 6 +++++- beszel/beszel.initd | 8 ++++++++ beszel/beszel.pre-install | 2 +- 7 files changed, 33 insertions(+), 11 deletions(-) diff --git a/beszel/APKBUILD b/beszel/APKBUILD index 1312292..3387868 100644 --- a/beszel/APKBUILD +++ b/beszel/APKBUILD @@ -64,8 +64,8 @@ agent_openrc() { sha512sums=" 2e0bda8b78b5aaa0e3d57a4b3b443f6bbe3cb6de6eadfed1aed37e4556b4c3092855b95b9450485b1a96609e08aabfa018bf60cd437291b3f9fd0ae20b50403b beszel-0.11.0.tar.gz -175af1b0ddf112d00feef5782a9bdf6ac37a08cd5f504e97526a2e7def9bd403216ee4cc3b4ba3f45e0724ba8fd5a736b9ceb2157095316e224ceca5f6463ff2 beszel.confd -fd64065cc06b2ec3492722bdd2da0ea3bb2a823533239e1c79c117de163dd1a9832853538f1377af57524c9023e636afc09e163a38007e8e4b71e63035d1881f beszel.initd -d999dfdafb6f206a486a3714ef99f52f4c3fbd229bc5d9248fde76679babb0be962ae4fa226e032b16a6c9dcf34ccf2c94454dc8a7a9b0134853789dba657979 beszel-agent.confd -a460056a16ad780e30ce819b8d2c484caf0243665138655bd2b8df8939bee4f7b44f41c6839a23f7423f3cf5b652f84361af653613340565978fa27dce03f4f1 beszel-agent.initd +daeb915d3395d1b0fa278a74e20b2eb711f6db177ea11b30d147355c37511fb5577e6ba541947f7dbfb40ffcbc78589429ee9de13862ed47f71b1968872eaae6 beszel.confd +240f1573b54a8a4a45ed6034ea6225ebb6b2e361af2fa77a5186acb941aa6aa0946ce773c86c80755e14c1a41ea5baad65a54462446bde207a65de177bc423bb beszel.initd +404dec30f31feab4c421cf7e820486b277b0261346abe1cfe9cf7aa78b19f23692243a67b74b479051c2739b3e664d1030562fae594ece101faa8ea4cc0ed915 beszel-agent.confd +2075fcfac9a8df815b7541d1b55ce4de5327e8afeb079da8fceabe523978070c678eb035efe6815af1e6e735dc6da531634976b82c15f2e505356ca447852484 beszel-agent.initd " \ No newline at end of file diff --git a/beszel/beszel-agent.confd b/beszel/beszel-agent.confd index 6aa5890..32a94ba 100644 --- a/beszel/beszel-agent.confd +++ b/beszel/beszel-agent.confd @@ -3,5 +3,12 @@ # Beszel agent require ssh key from beszel hub to run # without KEY Enviroment, the agent won't run KEY="" + # Beszel agent runner port, default is 45876 -PORT="45876" +LISTEN="45876" +# DEPRECATED since v0.10.0 +# PORT="45876" + +# Monitor extra disk +# more info: https://beszel.dev/guide/additional-disks#binary-agent +#EXTRA_FILESYSTEMS="" \ No newline at end of file diff --git a/beszel/beszel-agent.initd b/beszel/beszel-agent.initd index b341d92..6f3789d 100644 --- a/beszel/beszel-agent.initd +++ b/beszel/beszel-agent.initd @@ -5,6 +5,7 @@ description="Beszel Agent Service" command="/usr/bin/beszel-agent" command_user="beszel-agent" command_background="yes" +config="/etc/conf.d/beszel-agent" pidfile="/run/\${RC_SVCNAME}.pid" output_log="/var/log/beszel-agent/beszel-agent.log" error_log="/var/log/beszel-agent/beszel-agent.err" @@ -12,9 +13,11 @@ error_log="/var/log/beszel-agent/beszel-agent.err" start_pre() { checkpath -f -p -m 0644 -o beszel-agent:beszel-agent "\$output_log" "\$error_log" checkpath --directory -o beszel-agent:beszel-agent ${pidfile%/*} - - export PORT="$PORT" - export KEY="$KEY" + + # Source and export Configuration variables + set -a + source $config + set +a } depend() { diff --git a/beszel/beszel-agent.pre-install b/beszel/beszel-agent.pre-install index acd639e..5265077 100644 --- a/beszel/beszel-agent.pre-install +++ b/beszel/beszel-agent.pre-install @@ -1,7 +1,7 @@ #!/bin/sh addgroup -S beszel-agent 2>/dev/null -adduser -S -D -s /bin/sh -G beszel-agent -g beszel-agent beszel-agent 2>/dev/null \ +adduser -S -D -s /sbin/nologin -G beszel-agent -g beszel-agent beszel-agent 2>/dev/null \ && passwd -u beszel-agent 2>/dev/null exit 0 \ No newline at end of file diff --git a/beszel/beszel.confd b/beszel/beszel.confd index ddb0c6f..3d7f0d4 100644 --- a/beszel/beszel.confd +++ b/beszel/beszel.confd @@ -6,4 +6,8 @@ PORT=8090 # Beszel dir BESZEL_DATADIR=/var/lib/beszel -BESZEL_LOG_FILE=/var/log/beszel/beszel.log \ No newline at end of file +BESZEL_LOG_FILE=/var/log/beszel/beszel.log + +# URL of the web UI. Must set if serving on a subpath +# more info: https://beszel.dev/guide/serve-on-subpath +#APP_URL="" \ No newline at end of file diff --git a/beszel/beszel.initd b/beszel/beszel.initd index 0700864..0e87c65 100644 --- a/beszel/beszel.initd +++ b/beszel/beszel.initd @@ -6,6 +6,7 @@ command="/usr/bin/beszel" command_user="${BESZEL_USER:-beszel}" command_args="serve --dir '${BESZEL_DATADIR:-/var/lib/beszel}' --http '${HOST:-127.0.0.1}:${PORT:-8090}'" supervise_daemon_args="--chdir '${BESZEL_DATADIR:-/var/lib/beszel}' --stdout '${BESZEL_LOG_FILE:-/var/log/beszel/beszel.log}' --stderr '${BESZEL_LOG_FILE:-/var/log/beszel/beszel.log}'" +config="/etc/conf.d/beszel" pidfile="/run/beszel.pid" extra_started_commands="reopen_log" capabilities="^cap_net_bind_service" @@ -20,4 +21,11 @@ reopen_log() { ebegin "Reopening logfile for ${RC_SVCNAME}" ${supervisor} ${RC_SVCNAME} --signal USR1 --pidfile "${pidfile}" eend $? +} + +start_pre() { + # Source and export Configuration variables + set -a + source $config + set +a } \ No newline at end of file diff --git a/beszel/beszel.pre-install b/beszel/beszel.pre-install index 12b324f..319d54c 100644 --- a/beszel/beszel.pre-install +++ b/beszel/beszel.pre-install @@ -1,7 +1,7 @@ #!/bin/sh addgroup -S beszel 2>/dev/null -adduser -S -D -s /bin/sh -G beszel -g beszel beszel 2>/dev/null \ +adduser -S -D -s /sbin/nologin -G beszel -g beszel beszel 2>/dev/null \ && passwd -u beszel 2>/dev/null exit 0 \ No newline at end of file