diff --git a/examples/sidecar-nostr-relay/README.md b/examples/sidecar-nostr-relay/README.md index 22b2dfc..897eb99 100644 --- a/examples/sidecar-nostr-relay/README.md +++ b/examples/sidecar-nostr-relay/README.md @@ -187,6 +187,7 @@ docker exec sidecar-nostr-relay-app-1 ping -c1 127.0.0.1 | `FIPS_TCP_BIND` | `0.0.0.0:8443` | TCP transport bind address | | `FIPS_PEER_TRANSPORT` | `udp` | Peer transport type (`udp` or `tcp`) | | `FIPS_TUN_MTU` | `1280` | TUN interface MTU | +| `FIPS_UDP_MTU` | `1472` | UDP transport MTU (default is Docker bridge IPv4 max; set to `1280` for IPv6-min-safe deploys) | | `FIPS_NETWORK` | `fips-sidecar-net` | Docker network name (set to join external network) | | `FIPS_SUBNET` | `172.20.1.0/24` | Docker network subnet | | `FIPS_IPV4` | `172.20.1.20` | Sidecar's IPv4 address on the Docker network | diff --git a/examples/sidecar-nostr-relay/docker-compose.yml b/examples/sidecar-nostr-relay/docker-compose.yml index 40afe46..5af4d6f 100644 --- a/examples/sidecar-nostr-relay/docker-compose.yml +++ b/examples/sidecar-nostr-relay/docker-compose.yml @@ -31,6 +31,7 @@ services: - FIPS_PEER_ALIAS=${FIPS_PEER_ALIAS:-peer} - FIPS_UDP_BIND=${FIPS_UDP_BIND:-0.0.0.0:2121} - FIPS_TUN_MTU=${FIPS_TUN_MTU:-1280} + - FIPS_UDP_MTU=${FIPS_UDP_MTU:-1472} - FIPS_PEER_TRANSPORT=${FIPS_PEER_TRANSPORT:-udp} volumes: - ./resolv.conf:/etc/resolv.conf:ro diff --git a/examples/sidecar-nostr-relay/entrypoint.sh b/examples/sidecar-nostr-relay/entrypoint.sh index 06b826d..af40441 100755 --- a/examples/sidecar-nostr-relay/entrypoint.sh +++ b/examples/sidecar-nostr-relay/entrypoint.sh @@ -8,6 +8,7 @@ FIPS_NSEC="${FIPS_NSEC:?FIPS_NSEC is required}" FIPS_UDP_BIND="${FIPS_UDP_BIND:-0.0.0.0:2121}" FIPS_TCP_BIND="${FIPS_TCP_BIND:-0.0.0.0:8443}" FIPS_TUN_MTU="${FIPS_TUN_MTU:-1280}" +FIPS_UDP_MTU="${FIPS_UDP_MTU:-1472}" FIPS_PEER_TRANSPORT="${FIPS_PEER_TRANSPORT:-udp}" mkdir -p /etc/fips @@ -41,7 +42,9 @@ dns: transports: udp: bind_addr: "${FIPS_UDP_BIND}" - mtu: 1472 + # 1472 = Docker bridge IPv4 max (1500 MTU - 8 UDP - 20 IPv4 header). + # Override with FIPS_UDP_MTU=1280 for IPv6-min-safe deploys. + mtu: ${FIPS_UDP_MTU} tcp: bind_addr: "${FIPS_TCP_BIND}" diff --git a/testing/static/configs/node.template.yaml b/testing/static/configs/node.template.yaml index 73ecd77..ced2104 100644 --- a/testing/static/configs/node.template.yaml +++ b/testing/static/configs/node.template.yaml @@ -17,6 +17,8 @@ dns: transports: udp: bind_addr: "0.0.0.0:2121" + # Docker bridge supports 1500-MTU IPv4 so 1472 is safe here. + # Operator-facing daemon default is 1280 (IPv6 minimum). mtu: 1472 # recv_buf_size: 2097152 # 2 MB (default) # send_buf_size: 2097152 # 2 MB (default)