* Update run.sh

* Update run.sh

* Update config.json

* Update run.sh

* Update smb.conf

* Update config.json
This commit is contained in:
Pascal Vizeli
2017-07-21 23:45:16 +02:00
committed by GitHub
parent c74ff60794
commit 32f01b1acf
3 changed files with 44 additions and 27 deletions

View File

@@ -1,41 +1,42 @@
{
"name": "Samba share",
"version": "1.1",
"version": "2.0",
"slug": "samba",
"description": "Expose HassIO folders with Samba",
"url": "https://home-assistant.io/addons/samba/",
"startup": "services",
"boot": "auto",
"ports": {
"445/tcp": 445,
"137/udp": 137,
"138/udp": 138,
"139/tcp": 139
},
"host_network": true,
"map": ["config:rw", "ssl:rw", "addons:rw", "share:rw", "backup:rw"],
"options": {
"workgroup": "WORKGROUP",
"name": "hassio",
"guest": true,
"map_config": true,
"map_addons": true,
"map_ssl": false,
"map_share": true,
"map_backup": true,
"map": {
"config": true,
"addons": true,
"ssl": false,
"share": true,
"backup": true
},
"username": "",
"password": ""
"password": "",
"interface": "eth0"
},
"schema": {
"workgroup": "str",
"name": "str",
"guest": "bool",
"map_config": "bool",
"map_addons": "bool",
"map_ssl": "bool",
"map_share": "bool",
"map_backup": "bool",
"map": {
"config": "bool",
"addons": "bool",
"ssl": "bool",
"share": "bool",
"backup": "bool"
},
"username": "str",
"password": "str"
"password": "str",
"interface": "str"
},
"image": "homeassistant/{arch}-addon-samba"
}

View File

@@ -8,12 +8,12 @@ NAME=$(jq --raw-output '.name' $CONFIG_PATH)
GUEST=$(jq --raw-output '.guest' $CONFIG_PATH)
USERNAME=$(jq --raw-output '.username // empty' $CONFIG_PATH)
PASSWORD=$(jq --raw-output '.password // empty' $CONFIG_PATH)
MAP_CONFIG=$(jq --raw-output '.map_config' $CONFIG_PATH)
MAP_ADDONS=$(jq --raw-output '.map_addons' $CONFIG_PATH)
MAP_SSL=$(jq --raw-output '.map_ssl' $CONFIG_PATH)
MAP_SHARE=$(jq --raw-output '.map_share' $CONFIG_PATH)
MAP_BACKUP=$(jq --raw-output '.map_backup' $CONFIG_PATH)
MAP_CONFIG=$(jq --raw-output '.map.config' $CONFIG_PATH)
MAP_ADDONS=$(jq --raw-output '.map.addons' $CONFIG_PATH)
MAP_SSL=$(jq --raw-output '.map.ssl' $CONFIG_PATH)
MAP_SHARE=$(jq --raw-output '.map.share' $CONFIG_PATH)
MAP_BACKUP=$(jq --raw-output '.map.backup' $CONFIG_PATH)
INTERFACE=$(jq --raw-output '.interface // empty' $CONFIG_PATH)
function write_config() {
echo "
@@ -34,6 +34,7 @@ function write_config() {
sed -i "s/%%WORKGROUP%%/$WORKGROUP/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
@@ -71,5 +72,17 @@ else
echo -e "$PASSWORD\n$PASSWORD" | smbpasswd -a -s -c /etc/smb.conf "$USERNAME"
fi
nmbd -s /etc/smb.conf
exec smbd -F -S -s /etc/smb.conf < /dev/null
nmbd -F -S -s /etc/smb.conf &
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"

View File

@@ -8,6 +8,9 @@
disable spoolss = yes
log level = 2
bind interfaces only = yes
interfaces = %%INTERFACE%%
#guest account = root
#map to guest = Bad Password