Sign inSign up

shvargon/wsdd

By shvargon

•Updated over 1 year ago

wsdd repo

Image
0

565

shvargon/wsdd repository overview

⁠wsdd-docker

Docker image for running wsdd.py, a Web Service Discovery daemon for Samba/SMB hosts.

šŸ”— Upstream repository: christgau/wsdd⁠
šŸ”— Docker repository (this project): shvargon/wsdd-docker⁠


ā šŸ“¦ Tags


ā āš™ļø What is wsdd?

wsdd is a Web Service Discovery daemon that allows Samba/SMB hosts (e.g., NAS devices or Linux servers) to be discoverable by Windows clients on the network.
It also provides a discovery mode (client mode) to search for other WSD-enabled devices (e.g., Windows machines).


ā šŸš€ Usage

Start a basic wsdd container:

docker run --net=host -e HOST=somehost -d shvargon/wsdd

Pass additional flags to wsdd.py by appending them at the end of the command line:

docker run --net=host -e HOST=somehost -d shvargon/wsdd -v --ipv4only

ā„¹ļø Refer to the upstream wsdd documentation⁠ for all available options.


⁠🌐 Environment Variables

VariableDescription
HOST(Required) Sets the hostname reported by wsdd during discovery.
WORKGROUPOverrides the default workgroup (WORKGROUP). Equivalent to -w / --workgroup.
DOMAINSets the Active Directory domain if the host is a domain member. Equivalent to -d / --domain.

ā šŸ“” Exposed Ports

PortProtocolPurpose
3702UDPWeb Services Discovery (WSD) multicast
5357TCPHTTP service for device metadata retrieval

āš ļø Note: This container is designed to be run with --net=host to properly handle multicast traffic (WSD uses UDP 3702 multicast).


ā šŸ”’ Security tips

  • The container runs as a non-root user (uid=1000;gid=1000).
  • Only /app/wsdd.py and /entrypoint.sh are executable (chmod 555).
  • ENTRYPOINT enforces the use of environment variables for configuration.

ā šŸ“ Samba + Avahi integration

When using wsdd alongside Samba, it's recommended to register the SMB service via Avahi for proper mDNS visibility (e.g., for macOS Finder):

Create the following file on your host:

/etc/avahi/services/smb.service

With the following content:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="yes">%h</name>
 <service>
   <type>_smb._tcp</type>
   <port>445</port>
 </service>
 <service>
   <type>_device-info._tcp</type>
   <port>0</port>
   <txt-record>model=RackMac</txt-record>
 </service>
</service-group>

This will announce your Samba server over mDNS, making it easier to detect on macOS and Linux clients.


ā šŸ“ License

See the LICENSE⁠ file in the upstream project.

Tag summary

Content type

Image

Digest

sha256:7cb34706d…

Size

15.9 MB

Last updated

over 1 year ago

docker pull shvargon/wsdd