mirror of
https://github.com/fankes/beszel.git
synced 2025-10-19 17:59:28 +08:00
agent install script: improve openwrt compatibility
This commit is contained in:
@@ -5,7 +5,7 @@ is_alpine() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
is_openwrt() {
|
is_openwrt() {
|
||||||
cat /etc/os-release | grep -q "OpenWrt"
|
grep -qi "OpenWrt" /etc/os-release
|
||||||
}
|
}
|
||||||
|
|
||||||
# If SELinux is enabled, set the context of the binary
|
# If SELinux is enabled, set the context of the binary
|
||||||
@@ -335,11 +335,10 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Create a dedicated user for the service if it doesn't exist
|
# Create a dedicated user for the service if it doesn't exist
|
||||||
|
echo "Creating a dedicated user for the Beszel Agent service..."
|
||||||
if is_alpine; then
|
if is_alpine; then
|
||||||
if ! id -u beszel >/dev/null 2>&1; then
|
if ! id -u beszel >/dev/null 2>&1; then
|
||||||
echo "Creating a dedicated group for the Beszel Agent service..."
|
|
||||||
addgroup beszel
|
addgroup beszel
|
||||||
echo "Creating a dedicated user for the Beszel Agent service..."
|
|
||||||
adduser -S -D -H -s /sbin/nologin -G beszel beszel
|
adduser -S -D -H -s /sbin/nologin -G beszel beszel
|
||||||
fi
|
fi
|
||||||
# Add the user to the docker group to allow access to the Docker socket if group docker exists
|
# Add the user to the docker group to allow access to the Docker socket if group docker exists
|
||||||
@@ -348,9 +347,36 @@ if is_alpine; then
|
|||||||
usermod -aG docker beszel
|
usermod -aG docker beszel
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
elif is_openwrt; then
|
||||||
|
# Create beszel group first if it doesn't exist (check /etc/group directly)
|
||||||
|
if ! grep -q "^beszel:" /etc/group >/dev/null 2>&1; then
|
||||||
|
echo "beszel:x:999:" >> /etc/group
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create beszel user if it doesn't exist (double-check to prevent duplicates)
|
||||||
|
if ! id -u beszel >/dev/null 2>&1 && ! grep -q "^beszel:" /etc/passwd >/dev/null 2>&1; then
|
||||||
|
echo "beszel:x:999:999::/nonexistent:/bin/false" >> /etc/passwd
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add the user to the docker group if docker group exists and user is not already in it
|
||||||
|
if grep -q "^docker:" /etc/group >/dev/null 2>&1; then
|
||||||
|
echo "Adding beszel to docker group"
|
||||||
|
# Check if beszel is already in docker group
|
||||||
|
if ! grep "^docker:" /etc/group | grep -q "beszel"; then
|
||||||
|
# Add beszel to docker group by modifying /etc/group
|
||||||
|
# Handle both cases: group with existing members and group without members
|
||||||
|
if grep "^docker:" /etc/group | grep -q ":.*:.*$"; then
|
||||||
|
# Group has existing members, append with comma
|
||||||
|
sed -i 's/^docker:\([^:]*:[^:]*:\)\(.*\)$/docker:\1\2,beszel/' /etc/group
|
||||||
|
else
|
||||||
|
# Group has no members, just append
|
||||||
|
sed -i 's/^docker:\([^:]*:[^:]*:\)$/docker:\1beszel/' /etc/group
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
if ! id -u beszel >/dev/null 2>&1; then
|
if ! id -u beszel >/dev/null 2>&1; then
|
||||||
echo "Creating a dedicated user for the Beszel Agent service..."
|
|
||||||
useradd --system --home-dir /nonexistent --shell /bin/false beszel
|
useradd --system --home-dir /nonexistent --shell /bin/false beszel
|
||||||
fi
|
fi
|
||||||
# Add the user to the docker group to allow access to the Docker socket if group docker exists
|
# Add the user to the docker group to allow access to the Docker socket if group docker exists
|
||||||
|
Reference in New Issue
Block a user