Skip to content

fix(cli): docusaurus serve should pass --host to server.listen() - #12127

Merged
slorber merged 3 commits into
facebook:mainfrom
srpatcha:fix/serve-host-binding
Jun 18, 2026
Merged

fix(cli): docusaurus serve should pass --host to server.listen()#12127
slorber merged 3 commits into
facebook:mainfrom
srpatcha:fix/serve-host-binding

Conversation

@srpatcha

@srpatcha srpatcha commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Description

server.listen(port) in the serve command ignored the --host CLI flag, always binding to 0.0.0.0 and potentially exposing the dev server to the network.

Changes

  • Pass host parameter to server.listen(port, host)
  • Added EADDRINUSE error handler for better DX when the port is already in use

Testing

  • Verified docusaurus serve --host 127.0.0.1 now correctly binds to localhost only
  • Verified EADDRINUSE error is caught and logged cleanly

Replaces #11965 (closed due to unrelated commits causing Netlify deploy failures).

server.listen(port) ignored the --host flag, always binding to
0.0.0.0 and exposing the dev server on the network. Added host
parameter to server.listen() call and added EADDRINUSE error handler.
@meta-cla meta-cla Bot added the CLA Signed Signed Facebook CLA label Jun 9, 2026
@netlify

netlify Bot commented Jun 9, 2026

Copy link
Copy Markdown

[V2]

Name Link
🔨 Latest commit 88aa4d3
🔍 Latest deploy log https://app.netlify.com/projects/docusaurus-2/deploys/6a33f6c548af4c00086bb77b
😎 Deploy Preview https://deploy-preview-12127--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@slorber slorber changed the title fix: pass host to server.listen in serve command fix(cli): docusaurus serve should pass --host to server.listen() Jun 18, 2026
@slorber slorber added pr: bug fix This PR fixes a bug in a past release. to backport This PR is planned to be backported to a stable version of Docusaurus labels Jun 18, 2026

@slorber slorber left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks, I just cleaned up the code and created an abstraction

@slorber
slorber merged commit 35cec7d into facebook:main Jun 18, 2026
37 of 39 checks passed
yamz8 pushed a commit to forgente/docs that referenced this pull request Jul 27, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@docusaurus/core](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus)) | [`3.10.1` → `3.10.2`](https://renovatebot.com/diffs/npm/@docusaurus%2fcore/3.10.1/3.10.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fcore/3.10.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fcore/3.10.1/3.10.2?slim=true) |
| [@docusaurus/faster](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-faster)) | [`3.10.1` → `3.10.2`](https://renovatebot.com/diffs/npm/@docusaurus%2ffaster/3.10.1/3.10.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2ffaster/3.10.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2ffaster/3.10.1/3.10.2?slim=true) |
| [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases)) | [`3.10.1` → `3.10.2`](https://renovatebot.com/diffs/npm/@docusaurus%2fmodule-type-aliases/3.10.1/3.10.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fmodule-type-aliases/3.10.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fmodule-type-aliases/3.10.1/3.10.2?slim=true) |
| [@docusaurus/plugin-content-docs](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-plugin-content-docs)) | [`3.10.1` → `3.10.2`](https://renovatebot.com/diffs/npm/@docusaurus%2fplugin-content-docs/3.10.1/3.10.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fplugin-content-docs/3.10.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fplugin-content-docs/3.10.1/3.10.2?slim=true) |
| [@docusaurus/preset-classic](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic)) | [`3.10.1` → `3.10.2`](https://renovatebot.com/diffs/npm/@docusaurus%2fpreset-classic/3.10.1/3.10.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fpreset-classic/3.10.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fpreset-classic/3.10.1/3.10.2?slim=true) |

---

### Release Notes

<details>
<summary>facebook/docusaurus (@&#8203;docusaurus/core)</summary>

### [`v3.10.2`](https://github.com/facebook/docusaurus/blob/HEAD/CHANGELOG.md#3102-2026-07-10)

[Compare Source](facebook/docusaurus@v3.10.1...v3.10.2)

Backport and cherry-pick commits from main for v3.10.2 patch release:

- [fix(bundler): do not import `@swc/html`, fix StackBlitz playground #&#8203;12055](facebook/docusaurus#12055)
- [fix(core): use locale url in site config #&#8203;12054](facebook/docusaurus#12054)
- [fix(theme-classic): remove redundant sidebar label titles #&#8203;11966](facebook/docusaurus#11966)
- [fix(mdx-loader): avoid transforming dotted directory links into asset… #&#8203;11944](facebook/docusaurus#11944)
- [fix(dev-server): for HTTPS, support non-RSA TLS certs #&#8203;12065](facebook/docusaurus#12065)
- [fix(utils): fix `extractLeadingEmoji()` edge cases #&#8203;12100](facebook/docusaurus#12100)
- [fix(gtag.js, faster): Fix StackBlitz, vendor `@types/gtag.js`, upgrade `@swc/html` #&#8203;12080](facebook/docusaurus#12080)
- [fix(create-docusaurus): init template README should use npm commands by default #&#8203;12138](facebook/docusaurus#12138)
- [fix(cli): `docusaurus serve` should pass `--host` to `server.listen()` #&#8203;12127](facebook/docusaurus#12127)
- [fix(core): bump detect-port to v2.1, fix pnpm `trustPolicy` downgrade issue #&#8203;12012](facebook/docusaurus#12012)
- [fix(i18n): complete Spanish translations for theme-common and theme-l… #&#8203;12180](facebook/docusaurus#12180)
- [chore(deps): migrate to `@11ty/gray-matter` #&#8203;12181](facebook/docusaurus#12181)
- [fix(core): fix BaseUrlIssueBanner little security issue #&#8203;12260](facebook/docusaurus#12260)
- [fix(core): accept boolean attributes in headTags config validation #&#8203;12238](facebook/docusaurus#12238)
- [fix(sitemap): don't drop lastmod for an epoch (0) timestamp #&#8203;12212](facebook/docusaurus#12212)
- [fix(utils): preserve author names containing commas in git log parsing #&#8203;12069](facebook/docusaurus#12069)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/466
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
@slorber slorber added backported This PR has been backported to a stable version of Docusaurus and removed to backport This PR is planned to be backported to a stable version of Docusaurus labels Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backported This PR has been backported to a stable version of Docusaurus CLA Signed Signed Facebook CLA pr: bug fix This PR fixes a bug in a past release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants