Bridge and host network attachment compared Under bridge, services join the compose project network, publish ports, bind every interface, and address each other by compose service name. Under host they share the host's network namespace, publish nothing, bind loopback only, and address each other as localhost. Services that talk to each other must sit on the same side; osprey build refuses a deployment that crosses the boundary. BRIDGE · THE DEFAULT NETWORK: HOST osprey-network — the compose project network event_dispatcher publishes 10010 dispatch_worker listens on 10011 chat bridge no published port ports: published — reachable at deployment.bind_address binds every interface — the network itself is the boundary services address each other by compose service name the host's own network namespace — network_mode: host event_dispatcher listens on 127.0.0.1:10010 dispatch_worker listens on 127.0.0.1:10011 chat bridge reaches localhost:10010 no ports: block — the listening socket is already a host socket binds 127.0.0.1 only — off-host access is a deliberate act services address each other as localhost:<port> osprey build refuses a deployment whose services talk across this boundary — those addresses are written at build time