At least one machine needs to be a server, in the sense that it needs to have a port open that it listens on. This is a fact of life with all connections; when one machine opens a connection, there needs to be another machine on the other end that responds. Without this, no connections can ever be made.
If you are willing to have one or all machines listening on a port, then you can setup WebRTC on a LAN. In this case, you will not need STUN or TURN because there is no NAT traversal.
WebRTC does not need STUN or TURN on a LAN. WebRTC endpoints can generate local ICE candidates using their known addresses on the LAN. These get exchanged through signaling, either in directly in the SDP, or as ICE candidates in trickle ICE. The peer connection can be setup without ever needing to contact a STUN server external to the LAN.