Skip to content

Commit

Permalink
feat: Add shared network folder (#12)
Browse files Browse the repository at this point in the history
  • Loading branch information
kroese authored Feb 7, 2024
1 parent 35d3152 commit a8ee8a0
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ RUN apt-get update \
&& apt-get --no-install-recommends -y install \
curl \
7zip \
wsdd \
samba \
wimtools \
dos2unix \
cabextract \
genisoimage \
libxml2-utils \
Expand Down
1 change: 1 addition & 0 deletions src/entry.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ cd /run
. disk.sh # Initialize disks
. display.sh # Initialize graphics
. network.sh # Initialize network
. samba.sh # Configure samba
. boot.sh # Configure boot
. proc.sh # Initialize processor
. power.sh # Configure shutdown
Expand Down
3 changes: 3 additions & 0 deletions src/power.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ finish() {
pid="/var/run/tpm.pid"
[ -f "$pid" ] && pKill "$(<"$pid")"

fKill "wsdd"
fKill "smbd"

closeNetwork

sleep 0.5
Expand Down
63 changes: 63 additions & 0 deletions src/samba.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/usr/bin/env bash
set -Eeuo pipefail

[[ "$DHCP" == [Yy1]* ]] && return 0

SHARE="$STORAGE/shared"

mkdir -p "$SHARE"
chmod -R 777 "$SHARE"

SAMBA="/etc/samba/smb.conf"

{ echo "[global]"
echo " server string = Dockur"
echo " netbios name = dockur"
echo " workgroup = WORKGROUP"
echo " interfaces = dockerbridge"
echo " bind interfaces only = yes"
echo " security = user"
echo " guest account = nobody"
echo " map to guest = Bad User"
echo " server min protocol = SMB2"
echo ""
echo " # disable printing services"
echo " load printers = no"
echo " printing = bsd"
echo " printcap name = /dev/null"
echo " disable spoolss = yes"
echo ""
echo "[Data]"
echo " path = $SHARE"
echo " comment = Shared"
echo " writable = yes"
echo " guest ok = yes"
echo " guest only = yes"
echo " force user = root"
echo " force group = root"
} > "$SAMBA"

{ echo "--------------------------------------------------------"
echo " $APP for Docker v$(</run/version)..."
echo " For support visit $SUPPORT"
echo "--------------------------------------------------------"
echo ""
echo "Using this folder you can share files with the host machine."
echo ""
echo "To change the storage location, include the following bind mount in your compose file:"
echo ""
echo " volumes:"
echo " - \"/home/user/example:/storage/shared\""
echo ""
echo "Or in your run command:"
echo ""
echo " -v \"/home/user/example:/storage/shared\""
echo ""
echo "Replace the example path /home/user/example with the desired storage folder."
echo ""
} | unix2dos > "$SHARE/readme.txt"

smbd -D
wsdd -i dockerbridge -p -n "host.local" &

return 0

0 comments on commit a8ee8a0

Please sign in to comment.