Unverified Commit 4e9ac3ef authored by Kroese's avatar Kroese Committed by GitHub
Browse files

feat: Add shared network folder (#157)

parent 42a52953
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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 \
+1 −0
Original line number Diff line number Diff line
@@ -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
+6 −1
Original line number Diff line number Diff line
@@ -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 ""
+5 −2
Original line number Diff line number Diff line
@@ -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
@@ -74,6 +74,9 @@ finish() {
  pid="/var/run/tpm.pid"
  [ -f "$pid" ] && pKill "$(<"$pid")"

  fKill "wsdd"
  fKill "smbd"

  closeNetwork

  sleep 0.5

src/samba.sh

0 → 100644
+63 −0
Original line number Diff line number Diff line
#!/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