mirror of
https://github.com/aljazceru/addons.git
synced 2025-12-18 21:54:20 +01:00
Fix nmbd (#146)
* Update run.sh * Update run.sh * Update config.json * Update run.sh * Update smb.conf * Update config.json
This commit is contained in:
@@ -1,41 +1,42 @@
|
|||||||
{
|
{
|
||||||
"name": "Samba share",
|
"name": "Samba share",
|
||||||
"version": "1.1",
|
"version": "2.0",
|
||||||
"slug": "samba",
|
"slug": "samba",
|
||||||
"description": "Expose HassIO folders with Samba",
|
"description": "Expose HassIO folders with Samba",
|
||||||
"url": "https://home-assistant.io/addons/samba/",
|
"url": "https://home-assistant.io/addons/samba/",
|
||||||
"startup": "services",
|
"startup": "services",
|
||||||
"boot": "auto",
|
"boot": "auto",
|
||||||
"ports": {
|
"host_network": true,
|
||||||
"445/tcp": 445,
|
|
||||||
"137/udp": 137,
|
|
||||||
"138/udp": 138,
|
|
||||||
"139/tcp": 139
|
|
||||||
},
|
|
||||||
"map": ["config:rw", "ssl:rw", "addons:rw", "share:rw", "backup:rw"],
|
"map": ["config:rw", "ssl:rw", "addons:rw", "share:rw", "backup:rw"],
|
||||||
"options": {
|
"options": {
|
||||||
"workgroup": "WORKGROUP",
|
"workgroup": "WORKGROUP",
|
||||||
"name": "hassio",
|
"name": "hassio",
|
||||||
"guest": true,
|
"guest": true,
|
||||||
"map_config": true,
|
"map": {
|
||||||
"map_addons": true,
|
"config": true,
|
||||||
"map_ssl": false,
|
"addons": true,
|
||||||
"map_share": true,
|
"ssl": false,
|
||||||
"map_backup": true,
|
"share": true,
|
||||||
|
"backup": true
|
||||||
|
},
|
||||||
"username": "",
|
"username": "",
|
||||||
"password": ""
|
"password": "",
|
||||||
|
"interface": "eth0"
|
||||||
},
|
},
|
||||||
"schema": {
|
"schema": {
|
||||||
"workgroup": "str",
|
"workgroup": "str",
|
||||||
"name": "str",
|
"name": "str",
|
||||||
"guest": "bool",
|
"guest": "bool",
|
||||||
"map_config": "bool",
|
"map": {
|
||||||
"map_addons": "bool",
|
"config": "bool",
|
||||||
"map_ssl": "bool",
|
"addons": "bool",
|
||||||
"map_share": "bool",
|
"ssl": "bool",
|
||||||
"map_backup": "bool",
|
"share": "bool",
|
||||||
|
"backup": "bool"
|
||||||
|
},
|
||||||
"username": "str",
|
"username": "str",
|
||||||
"password": "str"
|
"password": "str",
|
||||||
|
"interface": "str"
|
||||||
},
|
},
|
||||||
"image": "homeassistant/{arch}-addon-samba"
|
"image": "homeassistant/{arch}-addon-samba"
|
||||||
}
|
}
|
||||||
|
|||||||
29
samba/run.sh
29
samba/run.sh
@@ -8,12 +8,12 @@ NAME=$(jq --raw-output '.name' $CONFIG_PATH)
|
|||||||
GUEST=$(jq --raw-output '.guest' $CONFIG_PATH)
|
GUEST=$(jq --raw-output '.guest' $CONFIG_PATH)
|
||||||
USERNAME=$(jq --raw-output '.username // empty' $CONFIG_PATH)
|
USERNAME=$(jq --raw-output '.username // empty' $CONFIG_PATH)
|
||||||
PASSWORD=$(jq --raw-output '.password // empty' $CONFIG_PATH)
|
PASSWORD=$(jq --raw-output '.password // empty' $CONFIG_PATH)
|
||||||
MAP_CONFIG=$(jq --raw-output '.map_config' $CONFIG_PATH)
|
MAP_CONFIG=$(jq --raw-output '.map.config' $CONFIG_PATH)
|
||||||
MAP_ADDONS=$(jq --raw-output '.map_addons' $CONFIG_PATH)
|
MAP_ADDONS=$(jq --raw-output '.map.addons' $CONFIG_PATH)
|
||||||
MAP_SSL=$(jq --raw-output '.map_ssl' $CONFIG_PATH)
|
MAP_SSL=$(jq --raw-output '.map.ssl' $CONFIG_PATH)
|
||||||
MAP_SHARE=$(jq --raw-output '.map_share' $CONFIG_PATH)
|
MAP_SHARE=$(jq --raw-output '.map.share' $CONFIG_PATH)
|
||||||
MAP_BACKUP=$(jq --raw-output '.map_backup' $CONFIG_PATH)
|
MAP_BACKUP=$(jq --raw-output '.map.backup' $CONFIG_PATH)
|
||||||
|
INTERFACE=$(jq --raw-output '.interface // empty' $CONFIG_PATH)
|
||||||
|
|
||||||
function write_config() {
|
function write_config() {
|
||||||
echo "
|
echo "
|
||||||
@@ -34,6 +34,7 @@ function write_config() {
|
|||||||
|
|
||||||
sed -i "s/%%WORKGROUP%%/$WORKGROUP/g" /etc/smb.conf
|
sed -i "s/%%WORKGROUP%%/$WORKGROUP/g" /etc/smb.conf
|
||||||
sed -i "s/%%NAME%%/$NAME/g" /etc/smb.conf
|
sed -i "s/%%NAME%%/$NAME/g" /etc/smb.conf
|
||||||
|
sed -i "s/%%INTERFACE%%/$INTERFACE/g" /etc/smb.conf
|
||||||
|
|
||||||
##
|
##
|
||||||
# Write shares to config
|
# Write shares to config
|
||||||
@@ -71,5 +72,17 @@ else
|
|||||||
echo -e "$PASSWORD\n$PASSWORD" | smbpasswd -a -s -c /etc/smb.conf "$USERNAME"
|
echo -e "$PASSWORD\n$PASSWORD" | smbpasswd -a -s -c /etc/smb.conf "$USERNAME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nmbd -s /etc/smb.conf
|
nmbd -F -S -s /etc/smb.conf &
|
||||||
exec smbd -F -S -s /etc/smb.conf < /dev/null
|
NMBD_PID=$!
|
||||||
|
smbd -F -S -s /etc/smb.conf &
|
||||||
|
SMBD_PID=$!
|
||||||
|
|
||||||
|
# Register stop
|
||||||
|
function stop_samba() {
|
||||||
|
kill -15 "$NMBD_PID"
|
||||||
|
kill -15 "$SMBD_PID"
|
||||||
|
wait "$SMBD_PID" "$NMBD_PID"
|
||||||
|
}
|
||||||
|
trap "stop_samba" SIGTERM SIGHUP
|
||||||
|
|
||||||
|
wait "$SMBD_PID" "$NMBD_PID"
|
||||||
|
|||||||
@@ -8,6 +8,9 @@
|
|||||||
disable spoolss = yes
|
disable spoolss = yes
|
||||||
|
|
||||||
log level = 2
|
log level = 2
|
||||||
|
|
||||||
|
bind interfaces only = yes
|
||||||
|
interfaces = %%INTERFACE%%
|
||||||
|
|
||||||
#guest account = root
|
#guest account = root
|
||||||
#map to guest = Bad Password
|
#map to guest = Bad Password
|
||||||
|
|||||||
Reference in New Issue
Block a user