@@ 136,7 136,12 @@ func main() {
// server.New parses -b/-d/-m/-p and runs crypto.InitCrypto (needs
// [sr.ht]network-key + [webhooks]private-key; missing keys panic here).
- srv := server.New(serviceName, defaultWebAddr, conf, os.Args[1:])
+ // Pass the full os.Args: core-go's getopt skips argv[0] as the program name
+ // itself (like every upstream sourcehut daemon). Passing os.Args[1:] makes
+ // getopt swallow the first real flag (e.g. -b) as the program name, so the
+ // web bind silently falls back to defaultWebAddr (localhost) — unreachable
+ // from Traefik/other containers.
+ srv := server.New(serviceName, defaultWebAddr, conf, os.Args)
cfg, err := resolveSettings(conf)
if err != nil {