Skip to content

Commit

Permalink
feat: Add shared network folder (dockur#157)
Browse files Browse the repository at this point in the history
  • Loading branch information
kroese committed Feb 7, 2024
1 parent 42a5295 commit 4e9ac3e
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 3 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
7 changes: 6 additions & 1 deletion src/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -835,11 +835,16 @@ prepareXP() {
echo "ProductKey=$key"
echo ""
echo "[Identification]"
echo "JoinWorkgroup"
echo "JoinWorkgroup = WORKGROUP"
echo ""
echo "[Networking]"
echo "InstallDefaultComponents=Yes"
echo ""
echo "[URL]"
echo "Home_Page = http://www.google.com"
echo "Search_Page = http://www.google.com/ie_rsearch.html"
echo "AutoConfig = 0"
echo ""
echo "[RegionalSettings]"
echo "Language=00000409"
echo ""
Expand Down
7 changes: 5 additions & 2 deletions src/power.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ ready() {

if [ -f "$STORAGE/windows.old" ]; then
local last
local bios="Booting from Hard Disk"
last=$(grep "^B.*" "$QEMU_PTY" | tail -1)
local bios="Booting from Hard"
last=$(grep "^Booting.*" "$QEMU_PTY" | tail -1)
if [[ "${last,,}" == "${bios,,}"* ]]; then
return 0
fi
Expand Down Expand Up @@ -74,6 +74,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 4e9ac3e

Please sign in to comment.