Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 5.5 KB

README.md

File metadata and controls

48 lines (33 loc) · 5.5 KB

Web Service Discovery host daemon

Repository for a docker image that executes the WSDD Python 3 script. Useful for systems running samba containers. Web Service Discovery host daemon is a script maintained at christgau/wsdd.

Dockerfile Details

ENTRYPOINT launches shell script start.sh that then passes script parameters via environment variables to the python script. Uses the alpine base image.

The health check checks to see if the wsdd.py process is running.

Building

Use the unified build tool. There are no additional parameters to configure.

The latest version of wsdd.py will be downloaded straight from the Github repository.

Usage

You can run this without any parameters, ensuring that the following ports are open:

  • 3702 UDP
  • 5357 TCP

You can also specify the environment variables below to configure the script.

Environment Variables

Passes configuration to the wsdd.py script. For details, see the repository readme.

Variable Data Type Description Error
HOST_NAME String Override the host name wsdd uses during discovery. By default the machine's host name is used (look at hostname(1)). Only the host name part of a possible FQDN will be used in the default case. Exit Code 10 when invalid host name.
WORKGROUP String By default wsdd reports the host is a member of a workgroup rather than a domain (use the -d/--domain option to override this). With -w/--workgroup the default workgroup name can be changed. The default work group name is WORKGROUP. Exit Code 15 when invalid workgroup name.
DOMAIN String Assume that the host running wsdd joined an ADS domain. This will make wsdd report the host being a domain member. It disables workgroup membership reporting. Exit Code 15 when invalid domain name.
PRESERVE_CASE Boolean Preserve the hostname as it is. Without this option, the hostname is converted as follows. For workgroup environments (see -w) the hostname is made upper case by default. Vice versa it is made lower case for usage in domains (see -d).
NO_HTTP Boolean Do not service http requests of the WSD protocol. This option is intended for debugging purposes where another process may handle the Get messages.
NO_SERVER Boolean Disable host operation mode which is enabled by default. The host will not be discovered by WSD clients when this flag is provided.
IP4_ONLY Boolean Restrict to the given address family. If both options are specified no addresses will be available and wsdd will exit.
IP6_ONLY Boolean Restrict to the given address family. If both options are specified no addresses will be available and wsdd will exit.
HOP_LIMIT Number Set the hop limit for multicast packets. The default is 1 which should prevent packets from leaving the local network segment. Exit Code 20 when not a number.
DISCOVERY_MODE Boolean Enable discovery mode to search for other WSD hosts/servers. Found servers are printed to stdout with INFO priority. The server interface (see -l option) can be used for a programatic interface.
UUID UUID The WSD specification requires a device to have a unique address that is stable across reboots or changes in networks. In the context of the standard, it is assumed that this is something like a serial number. wsdd uses the UUID version 5 with the DNS namespace. Exit Code 30 when not a valid UUID.

Boolean variables can be set to anything (non-empty) to use the selected option.