mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-07-03 04:28:45 +02:00
update smb code
This commit is contained in:
@@ -14,11 +14,13 @@ RUN \
|
|||||||
curl \
|
curl \
|
||||||
cifs-utils \
|
cifs-utils \
|
||||||
keyutils \
|
keyutils \
|
||||||
|
bazarr \
|
||||||
|| apk add --no-cache \
|
|| apk add --no-cache \
|
||||||
jq \
|
jq \
|
||||||
curl \
|
curl \
|
||||||
cifs-utils \
|
cifs-utils \
|
||||||
keyutils \
|
keyutils \
|
||||||
|
bazarr \
|
||||||
\
|
\
|
||||||
##################
|
##################
|
||||||
# Install bashio #
|
# Install bashio #
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
@@ -32,9 +32,6 @@ if bashio::config.has_value 'networkdisks'; then
|
|||||||
mkdir -p /mnt/$diskname
|
mkdir -p /mnt/$diskname
|
||||||
chown -R root:root /mnt/$diskname
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
#Tries to mount with default options
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
@@ -42,14 +39,20 @@ if bashio::config.has_value 'networkdisks'; then
|
|||||||
if [ $MOUNTED = false ]; then
|
if [ $MOUNTED = false ]; then
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
# Messages
|
# Messages
|
||||||
if [ $MOUNTED = true ]; then
|
if [ $MOUNTED = true ]; then
|
||||||
#Test write permissions
|
#Test write permissions
|
||||||
@@ -7,6 +7,7 @@ FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
|||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
jq \
|
jq \
|
||||||
|
samba \
|
||||||
&& curl -J -L -o /tmp/bashio.tar.gz \
|
&& curl -J -L -o /tmp/bashio.tar.gz \
|
||||||
"https://github.com/hassio-addons/bashio/archive/v0.7.1.tar.gz" \
|
"https://github.com/hassio-addons/bashio/archive/v0.7.1.tar.gz" \
|
||||||
&& mkdir /tmp/bashio \
|
&& mkdir /tmp/bashio \
|
||||||
|
|||||||
@@ -39,14 +39,20 @@ if bashio::config.has_value 'networkdisks'; then
|
|||||||
if [ $MOUNTED = false ]; then
|
if [ $MOUNTED = false ]; then
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
# Messages
|
# Messages
|
||||||
if [ $MOUNTED = true ]; then
|
if [ $MOUNTED = true ]; then
|
||||||
#Test write permissions
|
#Test write permissions
|
||||||
@@ -18,6 +18,7 @@ RUN \
|
|||||||
jq \
|
jq \
|
||||||
cifs-utils \
|
cifs-utils \
|
||||||
keyutils \
|
keyutils \
|
||||||
|
samba \
|
||||||
\
|
\
|
||||||
##################
|
##################
|
||||||
# Install bashio #
|
# Install bashio #
|
||||||
|
|||||||
@@ -39,14 +39,20 @@ if bashio::config.has_value 'networkdisks'; then
|
|||||||
if [ $MOUNTED = false ]; then
|
if [ $MOUNTED = false ]; then
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
# Messages
|
# Messages
|
||||||
if [ $MOUNTED = true ]; then
|
if [ $MOUNTED = true ]; then
|
||||||
#Test write permissions
|
#Test write permissions
|
||||||
@@ -12,6 +12,7 @@ RUN apt-get update \
|
|||||||
\
|
\
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
jq \
|
jq \
|
||||||
|
samba \
|
||||||
\
|
\
|
||||||
&& apt-get -y upgrade cifs-utils \
|
&& apt-get -y upgrade cifs-utils \
|
||||||
\
|
\
|
||||||
|
|||||||
@@ -39,14 +39,20 @@ if bashio::config.has_value 'networkdisks'; then
|
|||||||
if [ $MOUNTED = false ]; then
|
if [ $MOUNTED = false ]; then
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
do
|
do
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
# Messages
|
# Messages
|
||||||
if [ $MOUNTED = true ]; then
|
if [ $MOUNTED = true ]; then
|
||||||
#Test write permissions
|
#Test write permissions
|
||||||
@@ -1,24 +1,33 @@
|
|||||||
ARG BUILD_FROM
|
ARG BUILD_FROM
|
||||||
ARG BUILD_VERSION
|
ARG BUILD_VERSION
|
||||||
ARG BUILD_UPSTREAM="2.0.1"
|
ARG BUILD_UPSTREAM="2.0.1"
|
||||||
|
ARG BASHIO_VERSION=0.13.0
|
||||||
|
|
||||||
FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
||||||
|
|
||||||
# Add bashio
|
# Add bashio
|
||||||
RUN apt-get update \
|
RUN \
|
||||||
|
################
|
||||||
|
# Install apps #
|
||||||
|
################
|
||||||
|
apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
curl \
|
jq \
|
||||||
jq \
|
curl \
|
||||||
&& curl -J -L -o /tmp/bashio.tar.gz \
|
cifs-utils \
|
||||||
"https://github.com/hassio-addons/bashio/archive/v0.13.0.tar.gz" \
|
keyutils \
|
||||||
&& mkdir /tmp/bashio \
|
samba \
|
||||||
&& tar zxvf \
|
plex \
|
||||||
/tmp/bashio.tar.gz \
|
\
|
||||||
--strip 1 -C /tmp/bashio \
|
###################
|
||||||
\
|
# Install bashio #
|
||||||
|
##################
|
||||||
|
&& mkdir -p /tmp/bashio \
|
||||||
|
&& curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \
|
||||||
|
| tar -xzf - --strip 1 -C /tmp/bashio \
|
||||||
&& mv /tmp/bashio/lib /usr/lib/bashio \
|
&& mv /tmp/bashio/lib /usr/lib/bashio \
|
||||||
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
||||||
&& rm -fr /tmp/bashio.tar.gz
|
&& rm -rf /tmp/bashio
|
||||||
|
|
||||||
# Copy root filesystem
|
# Copy root filesystem
|
||||||
COPY rootfs /
|
COPY rootfs /
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
68
papermerge/rootfs/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
papermerge/rootfs/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
@@ -1,35 +1,35 @@
|
|||||||
ARG BUILD_FROM
|
ARG BUILD_FROM
|
||||||
ARG BUILD_VERSION
|
ARG BUILD_VERSION
|
||||||
ARG BUILD_UPSTREAM="1.23.5.4862-0f739d462-ls64"
|
ARG BUILD_UPSTREAM="1.23.5.4862-0f739d462-ls64"
|
||||||
|
ARG BASHIO_VERSION=0.13.0
|
||||||
|
|
||||||
FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
||||||
|
|
||||||
# Set shell
|
# Set shell
|
||||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN \
|
||||||
\
|
################
|
||||||
&& apt-get install -y --no-install-recommends \
|
# Install apps #
|
||||||
jq \
|
################
|
||||||
\
|
apt-get update \
|
||||||
&& apt-get -y upgrade cifs-utils \
|
&& apt-get install -y \
|
||||||
&& curl -J -L -o /tmp/bashio.tar.gz \
|
jq \
|
||||||
"https://github.com/hassio-addons/bashio/archive/v0.7.1.tar.gz" \
|
curl \
|
||||||
&& mkdir /tmp/bashio \
|
cifs-utils \
|
||||||
&& tar zxvf \
|
keyutils \
|
||||||
/tmp/bashio.tar.gz \
|
samba \
|
||||||
--strip 1 -C /tmp/bashio \
|
plex \
|
||||||
\
|
\
|
||||||
|
###################
|
||||||
|
# Install bashio #
|
||||||
|
##################
|
||||||
|
&& mkdir -p /tmp/bashio \
|
||||||
|
&& curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \
|
||||||
|
| tar -xzf - --strip 1 -C /tmp/bashio \
|
||||||
&& mv /tmp/bashio/lib /usr/lib/bashio \
|
&& mv /tmp/bashio/lib /usr/lib/bashio \
|
||||||
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
||||||
&& rm -fr \
|
&& rm -rf /tmp/bashio
|
||||||
/tmp/* \
|
|
||||||
/var/{cache,log}/* \
|
|
||||||
/var/lib/apt/lists/*
|
|
||||||
# Allow UID and GID setting
|
|
||||||
#&& sed -i 's/bash/bashio/g' /etc/cont-init.d/10-adduser \
|
|
||||||
#&& sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' /etc/cont-init.d/10-adduser \
|
|
||||||
#&& sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' /etc/cont-init.d/10-adduser
|
|
||||||
|
|
||||||
RUN grep -rl '/config' /etc/cont-init.d/ | xargs sed -i 's|/config|/config/plex|g' #change config folder
|
RUN grep -rl '/config' /etc/cont-init.d/ | xargs sed -i 's|/config|/config/plex|g' #change config folder
|
||||||
|
|
||||||
|
|||||||
68
plex/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
plex/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
@@ -14,6 +14,7 @@ RUN \
|
|||||||
curl \
|
curl \
|
||||||
cifs-utils \
|
cifs-utils \
|
||||||
keyutils \
|
keyutils \
|
||||||
|
samba \
|
||||||
\
|
\
|
||||||
###################
|
###################
|
||||||
# Install bashio #
|
# Install bashio #
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
68
prowlarr/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
prowlarr/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
@@ -25,6 +25,17 @@ RUN \
|
|||||||
nginx \
|
nginx \
|
||||||
coreutils \
|
coreutils \
|
||||||
openvpn \
|
openvpn \
|
||||||
|
# Backup if change
|
||||||
|
|| apk add --no-cache \
|
||||||
|
apt-transport-https \
|
||||||
|
jq \
|
||||||
|
curl \
|
||||||
|
cifs-utils \
|
||||||
|
keyutils \
|
||||||
|
samba \
|
||||||
|
nginx \
|
||||||
|
coreutils \
|
||||||
|
openvpn \
|
||||||
\
|
\
|
||||||
##################
|
##################
|
||||||
# Install tempio #
|
# Install tempio #
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
|||||||
ARG BASHIO_VERSION=0.13.0
|
ARG BASHIO_VERSION=0.13.0
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
################
|
################
|
||||||
# Install apps #
|
# Install apps #
|
||||||
################
|
################
|
||||||
apt-get update \
|
apt-get update \
|
||||||
@@ -14,6 +14,7 @@ RUN \
|
|||||||
curl \
|
curl \
|
||||||
cifs-utils \
|
cifs-utils \
|
||||||
keyutils \
|
keyutils \
|
||||||
|
samba \
|
||||||
\
|
\
|
||||||
###################
|
###################
|
||||||
# Install bashio #
|
# Install bashio #
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
68
radarr/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
radarr/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
@@ -14,6 +14,7 @@ RUN \
|
|||||||
curl \
|
curl \
|
||||||
cifs-utils \
|
cifs-utils \
|
||||||
keyutils \
|
keyutils \
|
||||||
|
samba \
|
||||||
\
|
\
|
||||||
##################
|
##################
|
||||||
# Install bashio #
|
# Install bashio #
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
68
sonarr/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
sonarr/root/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
@@ -7,6 +7,7 @@ FROM ${BUILD_FROM}${BUILD_UPSTREAM}
|
|||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
curl \
|
curl \
|
||||||
jq \
|
jq \
|
||||||
|
samba \
|
||||||
&& curl -J -L -o /tmp/bashio.tar.gz \
|
&& curl -J -L -o /tmp/bashio.tar.gz \
|
||||||
"https://github.com/hassio-addons/bashio/archive/v0.13.0.tar.gz" \
|
"https://github.com/hassio-addons/bashio/archive/v0.13.0.tar.gz" \
|
||||||
&& mkdir /tmp/bashio \
|
&& mkdir /tmp/bashio \
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
68
transmission/rootfs/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
transmission/rootfs/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
@@ -11,6 +11,7 @@ RUN apk add --no-cache \
|
|||||||
curl \
|
curl \
|
||||||
jq \
|
jq \
|
||||||
moreutils \
|
moreutils \
|
||||||
|
samba \
|
||||||
&& curl -J -L -o /tmp/bashio.tar.gz \
|
&& curl -J -L -o /tmp/bashio.tar.gz \
|
||||||
"https://github.com/hassio-addons/bashio/archive/v0.13.0.tar.gz" \
|
"https://github.com/hassio-addons/bashio/archive/v0.13.0.tar.gz" \
|
||||||
&& mkdir /tmp/bashio \
|
&& mkdir /tmp/bashio \
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
|
||||||
|
|
||||||
####################
|
|
||||||
# MOUNT SMB SHARES #
|
|
||||||
####################
|
|
||||||
if bashio::config.has_value 'networkdisks'; then
|
|
||||||
# Mount CIFS Share if configured and if Protection Mode is active
|
|
||||||
bashio::log.info 'Mounting smb share(s)...'
|
|
||||||
|
|
||||||
# Define variables
|
|
||||||
MOREDISKS=$(bashio::config 'networkdisks')
|
|
||||||
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
|
||||||
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
|
||||||
MOUNTED=false
|
|
||||||
SMBVERS=""
|
|
||||||
SECVERS=""
|
|
||||||
|
|
||||||
if bashio::config.has_value 'cifsdomain'; then
|
|
||||||
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
|
||||||
else
|
|
||||||
DOMAIN=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Mounting disks
|
|
||||||
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
|
||||||
do
|
|
||||||
# Clean name of network share
|
|
||||||
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
|
||||||
diskname=${disk//\\//} #replace \ with /
|
|
||||||
diskname=${diskname##*/} # Get only last part of the name
|
|
||||||
# Prepare mount point
|
|
||||||
mkdir -p /mnt/$diskname
|
|
||||||
chown -R root:root /mnt/$diskname
|
|
||||||
|
|
||||||
#Tries to mount with default options
|
|
||||||
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
|
||||||
|
|
||||||
# if Fail test different smb and sec versions
|
|
||||||
if [ $MOUNTED = false ]; then
|
|
||||||
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
|
||||||
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5"
|
|
||||||
do
|
|
||||||
mount -t cifs -o rw,iocharset=utf8,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
if [ $MOUNTED = true ]; then
|
|
||||||
#Test write permissions
|
|
||||||
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
|
||||||
else
|
|
||||||
# message if still fail
|
|
||||||
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
|
||||||
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
|
||||||
rm ERRORCODE
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
68
ubooquity/rootfs/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
68
ubooquity/rootfs/etc/cont-init.d/92-smb_mounts_v1.4.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
####################
|
||||||
|
# MOUNT SMB SHARES #
|
||||||
|
####################
|
||||||
|
if bashio::config.has_value 'networkdisks'; then
|
||||||
|
# Mount CIFS Share if configured and if Protection Mode is active
|
||||||
|
bashio::log.info 'Mounting smb share(s)...'
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
MOREDISKS=$(bashio::config 'networkdisks')
|
||||||
|
CIFS_USERNAME=$(bashio::config 'cifsusername')
|
||||||
|
CIFS_PASSWORD=$(bashio::config 'cifspassword')
|
||||||
|
MOUNTED=false
|
||||||
|
SMBVERS=""
|
||||||
|
SECVERS=""
|
||||||
|
|
||||||
|
if bashio::config.has_value 'cifsdomain'; then
|
||||||
|
DOMAIN=",domain=$(bashio::config 'cifsdomain')"
|
||||||
|
else
|
||||||
|
DOMAIN=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mounting disks
|
||||||
|
for disk in ${MOREDISKS//,/ } # Separate comma separated values
|
||||||
|
do
|
||||||
|
# Clean name of network share
|
||||||
|
disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name
|
||||||
|
diskname=${disk//\\//} #replace \ with /
|
||||||
|
diskname=${diskname##*/} # Get only last part of the name
|
||||||
|
# Prepare mount point
|
||||||
|
mkdir -p /mnt/$diskname
|
||||||
|
chown -R root:root /mnt/$diskname
|
||||||
|
|
||||||
|
#Tries to mount with default options
|
||||||
|
mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false
|
||||||
|
|
||||||
|
# if Fail test different smb and sec versions
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN}"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false
|
||||||
|
for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"
|
||||||
|
do
|
||||||
|
mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test smbclient if not mounted yet
|
||||||
|
if [ $MOUNTED = false ]; then
|
||||||
|
smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD --option="client min protocol"="NT1" && \
|
||||||
|
bashio::log.info "Mounted with smbclient"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Messages
|
||||||
|
if [ $MOUNTED = true ]; then
|
||||||
|
#Test write permissions
|
||||||
|
touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
|
||||||
|
else
|
||||||
|
# message if still fail
|
||||||
|
bashio::log.fatal "Unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" # Mount share
|
||||||
|
bashio::log.fatal "Error read : $(<ERRORCODE)" # Mount share
|
||||||
|
rm ERRORCODE
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user