mirror of
https://github.com/aljazceru/addons.git
synced 2025-12-18 13:44:20 +01:00
Rename SMB_config / fix ssh
This commit is contained in:
16
samba/Dockerfile
Normal file
16
samba/Dockerfile
Normal file
@@ -0,0 +1,16 @@
|
||||
FROM %%BASE_IMAGE%%
|
||||
|
||||
# Add version
|
||||
ENV VERSION %%VERSION%%
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# Setup base
|
||||
RUN apk add --no-cache samba-server jq
|
||||
|
||||
# Copy data
|
||||
COPY run.sh /
|
||||
COPY smb.conf /etc/
|
||||
|
||||
RUN chmod a+x /run.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
||||
9
samba/README.md
Normal file
9
samba/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Samba Config
|
||||
Expose HomeAssistant config to samba share.
|
||||
|
||||
## Options
|
||||
|
||||
- `workgroup`: default WORKGROUP. name of workgroup
|
||||
- `guest`: default true. Allow access without login
|
||||
- `username`: username without guest access
|
||||
- `password`: password for login.
|
||||
24
samba/config.json
Normal file
24
samba/config.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "Samba share",
|
||||
"version": "0.1",
|
||||
"slug": "samba",
|
||||
"description": "Expose HassIO folders with samba",
|
||||
"startup": "after",
|
||||
"boot": "auto",
|
||||
"ports": {
|
||||
"445/tcp": 445
|
||||
},
|
||||
"map": ["config", "ssl", "addons"],
|
||||
"options": {
|
||||
"workgroup": "WORKGROUP",
|
||||
"guest": true,
|
||||
"username": "",
|
||||
"password": ""
|
||||
},
|
||||
"schema": {
|
||||
"workgroup": "str",
|
||||
"guest": "bool",
|
||||
"username": "str",
|
||||
"password": "str"
|
||||
}
|
||||
}
|
||||
30
samba/run.sh
Normal file
30
samba/run.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
|
||||
WORKGROUP=$(jq --raw-output ".workgroup // empty" $CONFIG_PATH)
|
||||
GUEST=$(jq --raw-output ".guest // empty" $CONFIG_PATH)
|
||||
USERNAME=$(jq --raw-output ".username // empty" $CONFIG_PATH)
|
||||
PASSWORD=$(jq --raw-output ".password // empty" $CONFIG_PATH)
|
||||
|
||||
sed -i "s/%%WORKGROUP%%/$WORKGROUP/g" /etc/smb.conf
|
||||
|
||||
if [ $GUEST == "true" ]; then
|
||||
echo " guest ok = yes" >> /etc/smb.conf
|
||||
echo " guest only = yes" >> /etc/smb.conf
|
||||
echo " public = yes" >> /etc/smb.conf
|
||||
|
||||
sed -i "s/#guest account/guest account/g" /etc/smb.conf
|
||||
sed -i "s/#map to guest/map to guest/g" /etc/smb.conf
|
||||
else
|
||||
echo " valid users = $USERNAME" >> /etc/smb.conf
|
||||
echo " force user = root" >> /etc/smb.conf
|
||||
echo " force group = root" >> /etc/smb.conf
|
||||
|
||||
addgroup -g 1000 $USERNAME
|
||||
adduser -D -H -G $USERNAME -s /bin/false -u 1000 $USERNAME
|
||||
echo -e "$PASSWORD\n$PASSWORD" | smbpasswd -a -s -c /etc/smb.conf $USERNAME
|
||||
fi
|
||||
|
||||
exec smbd -F -S -s /etc/smb.conf < /dev/null
|
||||
17
samba/smb.conf
Normal file
17
samba/smb.conf
Normal file
@@ -0,0 +1,17 @@
|
||||
[global]
|
||||
workgroup = %%WORKGROUP%%
|
||||
server string = Samba HomeAssistant config share
|
||||
security: user
|
||||
|
||||
load printers = no
|
||||
disable spoolss = yes
|
||||
|
||||
log level = 1
|
||||
|
||||
#guest account = root
|
||||
#map to guest = Bad User
|
||||
|
||||
[config]
|
||||
browseable = yes
|
||||
writeable = yes
|
||||
path = /config
|
||||
Reference in New Issue
Block a user