fix: Samba network configuration (#1815)

This commit is contained in:
Kroese
2026-07-07 02:27:08 +02:00
committed by GitHub
parent 029f59db2e
commit b4754f5826
+20 -9
View File
@@ -17,10 +17,11 @@ disabled "$SAMBA" && return 0
disabled "$NETWORK" && return 0 disabled "$NETWORK" && return 0
configureNetwork() { configureNetwork() {
if enabled "$DHCP"; then if enabled "$DHCP"; then
socket="$IP" socket="$UPLINK"
hostname="$IP" hostname="$UPLINK"
interfaces="$VM_NET_DEV" interfaces="$DEV"
else else
hostname="host.lan" hostname="host.lan"
case "${NETWORK,,}" in case "${NETWORK,,}" in
@@ -28,8 +29,8 @@ configureNetwork() {
interfaces="lo" interfaces="lo"
socket="127.0.0.1" ;; socket="127.0.0.1" ;;
*) *)
socket="$VM_NET_IP" socket="$IP"
interfaces="$VM_NET_BRIDGE" ;; interfaces="$BRIDGE" ;;
esac esac
if [ -n "${SAMBA_INTERFACE:-}" ]; then if [ -n "${SAMBA_INTERFACE:-}" ]; then
interfaces+=",$SAMBA_INTERFACE" interfaces+=",$SAMBA_INTERFACE"
@@ -40,6 +41,7 @@ configureNetwork() {
} }
writeTmpReadme() { writeTmpReadme() {
local dir="$1" local dir="$1"
local ref="$2" local ref="$2"
@@ -67,6 +69,7 @@ writeTmpReadme() {
} }
addShare() { addShare() {
local dir="$1" local dir="$1"
local ref="$2" local ref="$2"
local name="$3" local name="$3"
@@ -120,6 +123,7 @@ addShare() {
} }
writeSambaConfig() { writeSambaConfig() {
{ echo "[global]" { echo "[global]"
echo " server string = Dockur" echo " server string = Dockur"
echo " netbios name = $hostname" echo " netbios name = $hostname"
@@ -153,6 +157,7 @@ writeSambaConfig() {
} }
selectPrimaryShare() { selectPrimaryShare() {
share="/shared" share="/shared"
[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared" [ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared"
[ ! -d "$share" ] && [ -d "/data" ] && share="/data" [ ! -d "$share" ] && [ -d "/data" ] && share="/data"
@@ -163,6 +168,7 @@ selectPrimaryShare() {
} }
addOptionalShare() { addOptionalShare() {
local index="$1" local index="$1"
local ref="/shared$index" local ref="/shared$index"
local name="Data$index" local name="Data$index"
@@ -177,6 +183,7 @@ addOptionalShare() {
} }
prepareSambaDirs() { prepareSambaDirs() {
# Create directories if missing # Create directories if missing
mkdir -p /var/lib/samba/sysvol mkdir -p /var/lib/samba/sysvol
mkdir -p /var/lib/samba/private mkdir -p /var/lib/samba/private
@@ -190,7 +197,8 @@ prepareSambaDirs() {
return 0 return 0
} }
tailLogIfDebug() { debugLog() {
local file="$1" local file="$1"
if enabled "$SAMBA_DEBUG"; then if enabled "$SAMBA_DEBUG"; then
@@ -201,6 +209,7 @@ tailLogIfDebug() {
} }
startSamba() { startSamba() {
rm -f /var/log/samba/log.smbd rm -f /var/log/samba/log.smbd
if ! smbd -l /var/log/samba; then if ! smbd -l /var/log/samba; then
@@ -208,11 +217,12 @@ startSamba() {
error "Failed to start Samba daemon!" error "Failed to start Samba daemon!"
fi fi
tailLogIfDebug /var/log/samba/log.smbd debugLog /var/log/samba/log.smbd
return 0 return 0
} }
startNetbios() { startNetbios() {
# Enable NetBIOS on Windows 7 and lower # Enable NetBIOS on Windows 7 and lower
enabled "$DEBUG" && echo "Starting NetBIOS daemon..." enabled "$DEBUG" && echo "Starting NetBIOS daemon..."
@@ -223,11 +233,12 @@ startNetbios() {
error "Failed to start NetBIOS daemon!" error "Failed to start NetBIOS daemon!"
fi fi
tailLogIfDebug /var/log/samba/log.nmbd debugLog /var/log/samba/log.nmbd
return 0 return 0
} }
startWsddn() { startWsddn() {
# Enable Web Service Discovery on Vista and up # Enable Web Service Discovery on Vista and up
enabled "$DEBUG" && echo "Starting wsddn daemon..." enabled "$DEBUG" && echo "Starting wsddn daemon..."
rm -f /var/log/wsddn.log rm -f /var/log/wsddn.log
@@ -237,7 +248,7 @@ startWsddn() {
error "Failed to start wsddn daemon!" error "Failed to start wsddn daemon!"
fi fi
tailLogIfDebug /var/log/wsddn.log debugLog /var/log/wsddn.log
return 0 return 0
} }