-
Notifications
You must be signed in to change notification settings - Fork 31
Feat: Howto for running local networking infra #594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis change introduces a new how-to guide for running network infrastructure using Docker, updates navigation and resource listings to include this guide, and refines related documentation. It also adds several technical terms to spell checker dictionaries. The previous HTML index for how-tos is replaced with a Markdown version, now listing two guides. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant DevPortal
participant DockerHost
participant HolochainApp
User->>DevPortal: Access "Running Network Infrastructure" How-to
DevPortal-->>User: Display setup instructions
User->>DockerHost: Deploy bootstrap server via Docker Compose
DockerHost-->>User: Bootstrap server running
User->>HolochainApp: Configure app with custom bootstrap URLs
HolochainApp-->>User: Connects using new infrastructure
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changesNo out-of-scope changes detected related to the linked issue objectives. Poem
✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
b55dfb6 to
bfc6837
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (2)
src/pages/resources/index.md (1)
24-28: Minor nit: keep bullets alphabetised for quick scanningThe two how-to links are currently in functional order. If this list grows, consider alphabetising to aid discoverability:
-* [**Debugging a Running Holochain Conductor**](/resources/howtos/debugging/) ... -* [**Running Network Infrastructure**](/resources/howtos/running-network-infrastructure/) ... +* [**Debugging a Running Holochain Conductor**](/resources/howtos/debugging/) ... +* [**Running Network Infrastructure**](/resources/howtos/running-network-infrastructure/) ...(Alphabetical order already satisfied; just a future-proof reminder.)
src/pages/resources/howtos/running-network-infrastructure.md (1)
92-96: Consider running the container in detached mode for production useThe docs run
docker compose upin the foreground; most users setting up infrastructure on a server will prefer a detached process (-d) so the terminal can be freed.sudo docker compose up -d
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
.cspell/custom-words.txt(3 hunks).cspell/words-that-should-exist.txt(1 hunks)src/pages/_data/navigation/mainNav.json5(1 hunks)src/pages/resources/howtos/index.html(0 hunks)src/pages/resources/howtos/index.md(1 hunks)src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)src/pages/resources/index.md(1 hunks)
💤 Files with no reviewable changes (1)
- src/pages/resources/howtos/index.html
🧰 Additional context used
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[style] ~15-~15: Consider a more concise word here.
Context: ...ublic internet will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~96-~96: Consider using a synonym to be more concise.
Context: ...o docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[style] ~107-~107: This phrase is redundant. Consider using “outside”.
Context: ... a secured, highly-available service is outside of the scope of this documentation. Here a...
(OUTSIDE_OF)
🔇 Additional comments (4)
.cspell/words-that-should-exist.txt (1)
21-21: Dictionary update looks goodAdding the widely-used unit “kbps” avoids false-positive spell-checker warnings in future docs. No concerns.
.cspell/custom-words.txt (1)
16-36: Solid additions to custom word listThe new TLS-related terms (“certbot”, “fullchain”, “letsencrypt”, “privkey”) are common in infrastructure docs and will prevent needless spell-check noise. ✅
Also applies to: 50-55
src/pages/_data/navigation/mainNav.json5 (1)
64-69: Verify route & build before mergeThe new nav item points to
/resources/howtos/running-network-infrastructure/.
- Confirm that
src/pages/resources/howtos/running-network-infrastructure.md(or an equivalentindex.md) exists so the static-site generator can resolve the route.- Run a local build to ensure the JSON5 parses correctly; trailing commas are tolerated by JSON5, but a quick
npm run build(or equivalent) will catch any accidental syntax issues.No changes required if the build passes.
src/pages/resources/howtos/index.md (1)
1-10: 👍 New Markdown index replaces HTML successfullySwitching the Howtos index to Markdown simplifies maintenance and keeps formatting consistent with the rest of the site. The short intro and linked guides render well in most MD engines. No issues spotted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/pages/resources/howtos/running-network-infrastructure.md (1)
32-39: Avoid root-owned workdir and running VS Code as root
sudo mkdirmakes/var/kitsune2-bootstraproot-owned, yet the followingcdis executed un-privileged and the file is then opened withsudo code, starting VS Code under root.
Editing as root is rarely needed and can misconfigure extensions or file permissions. Consider:sudo mkdir -p /var/kitsune2-bootstrap sudo chown $USER:$USER /var/kitsune2-bootstrap # give yourself write access cd /var/kitsune2-bootstrap code docker-compose.yaml # run VS Code unprivileged
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[style] ~15-~15: Consider a more concise word here.
Context: ...ublic internet will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~96-~96: Consider using a synonym to be more concise.
Context: ...o docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[style] ~111-~111: This phrase is redundant. Consider using “outside”.
Context: ... a secured, highly-available service is outside of the scope of this documentation. Here a...
(OUTSIDE_OF)
🔇 Additional comments (2)
src/pages/resources/howtos/running-network-infrastructure.md (2)
43-44: Resolve remaining TODOs before publishingBoth image-URL TODO placeholders (
<!-- TODO(upgrade): Update the docker image URL -->) should be cleared so copy-pasting the docs yields a working setup and avoids users pulling an outdated tag later.Also applies to: 79-81
113-114: Double-check accuracy of the single-server / in-memory claimThe line contains a TODO questioning whether the bootstrap server’s database is in-memory and must remain single-instance. Please verify and either drop the TODO or adjust the wording so readers are not left uncertain.
3ec0535 to
e6eb4d3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
src/pages/resources/howtos/running-network-infrastructure.md (2)
38-39: Reconsidersudo code– assume a headless serverMost production or cloud servers won’t have VS Code (or an X session) available, and running it under
sudois rarely desirable.
Switch to a CLI editor (sudo nano …/sudo vi …) or instruct the reader to edit locally andscpthe file.-sudo code docker-compose.yaml +# open the file with your preferred editor – nano and vi are usually available +sudo nano docker-compose.yaml
44-74: Host-network mode warrants an explicit caveat
network_mode: hostbinds all container ports directly on the host interface.
Add a short note that:
- Port 443 must not already be in use on the host.
- Using host networking bypasses Docker’s isolation; if tighter isolation or non-root ports are required, map
443:443instead of host mode.No YAML changes required—just call this out in the text above or below the snippet.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[style] ~15-~15: Consider a more concise word here.
Context: ...ublic internet will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~96-~96: Consider using a synonym to be more concise.
Context: ...o docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[style] ~111-~111: This phrase is redundant. Consider using “outside”.
Context: ... a secured, highly-available service is outside of the scope of this documentation. Here a...
(OUTSIDE_OF)
🔇 Additional comments (3)
src/pages/resources/howtos/running-network-infrastructure.md (3)
32-36: Correctedsudo cdissue – thanks!The two-step approach (
sudo mkdir …then plaincd) resolves the earlier problem nicely.
60-64: Double-check the SBD burst value
--sbd-limit-ip-byte-burstexpects a byte count, while the comment labels it “kilobytes per second”. If the intent is a 26 MB burst, the argument is correct; otherwise convert the desired KiB value to bytes.Please verify with
kitsune2-bootstrap-srv --help.
113-115: Unverified claim about the in-memory databaseThe TODO suggests uncertainty (“”). Before publishing, confirm whether the bootstrap server really keeps its state purely in memory. If it now supports a persistent database, the single-instance & HA warning should be amended.
Co-authored-by: ThetaSinner <ThetaSinner@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (2)
src/pages/resources/howtos/running-network-infrastructure.md (2)
5-7: Intro wording & Oxford comma nit (duplicate of earlier feedback)
The opening sentence still reads “downloading, configuring and running”. Consider “downloading, configuring, and running” for consistency.
168-175: Ensure the file ends with a newline and add spacing before the closing admonitionMD047 warns that the file lacks a trailing newline, and MD031 flags the missing blank line before the closing
!!!.We plan to discuss [authentication options](https://github.com/holochain/sbd/blob/main/spec-auth.md) in the future. !!! +
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
📚 Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which req...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
📚 Learning: in documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers ...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...g Network Infrastructure --- ::: intro This howto will walk you through downloading,...
(QB_NEW_EN_OTHER)
[grammar] ~6-~6: Add a comma
Context: ...owto will walk you through downloading, configuring and running a containerized setup that ...
(QB_NEW_EN_OTHER_ERROR_IDS_22)
[grammar] ~6-~6: There might be a mistake here.
Context: ...direct connection can't be established. ::: The [kitsune2 bootstrap server](https:/...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...itsune2/tree/main/crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signal...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: There might be a mistake here.
Context: ...crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signalling for WebRTC co...
(QB_NEW_EN_OTHER)
[grammar] ~12-~12: There might be a mistake here.
Context: ...ing for WebRTC connection setup between peers * Optionally, the same WebSocket protocol ...
(QB_NEW_EN_OTHER)
[grammar] ~13-~13: There might be a mistake here.
Context: ...nection to each other in the signalling step Any user-friendly hApp will need these s...
(QB_NEW_EN_OTHER)
[grammar] ~15-~15: Ensure spelling is correct
Context: ... the signalling step Any user-friendly hApp will need these services in order to op...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~15-~15: Consider a more concise word here.
Context: ...-friendly hApp will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~15-~15: Use correct spacing
Context: ...pp will need these services in order to operate. !!! info Public server The Holochain Fou...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~17-~17: Use colons correctly
Context: ...ese services in order to operate. !!! info Public server The Holochain Foundation ...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~18-~18: Use correct spacing
Context: ...bandwidth and has no uptime guarantees. !!! ## Requirements * A server with a containe...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~24-~24: Use modal and auxiliary verbs correctly
Context: ... and key files for your server's domain name stored in the server's filesystem in [P...
(QB_NEW_EN_OTHER_ERROR_IDS_24)
[grammar] ~24-~24: There might be a problem here.
Context: ...your server's domain name stored in the server's filesystem in [PEM](https://en.wikipedia.org/wiki/...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~24-~24: Use correct spacing
Context: ...he certificates will be trusted by your users. ## Create a Docker compose file Create a `...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~26-~26: There might be a mistake here.
Context: ...sted by your users. ## Create a Docker compose file Create a docker-compose.yaml file in a...
(QB_NEW_EN_OTHER)
[grammar] ~28-~28: There might be a mistake here.
Context: ...t/kitsune2-bootstrap` and editing it in Vim: bash sudo mkdir -p /opt/kitsune2-bootstrap ```bash sudo touch /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash sudo chown $(whoami) /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash vim /opt/kitsune2-bootstrap/docker-compose.yaml ``` Copy this code into the fi...
(QB_NEW_EN_OTHER)
[grammar] ~43-~43: Use correct spacing
Context: ...TLS certificate and key files, and save it. yaml services: bootstrap: image: ghcr.io/holochain/kitsune2_bootstrap_srv:v0.2.11 command: - kitsune2-bootstrap-srv - --production - --listen - "[::]:443" # Replace these with actual paths to your cert and key files, # relative to the local volume mount point you specify further down. - --tls-cert - /etc/letsencrypt/live/bootstrap.example.org/fullchain.pem - --tls-key - /etc/letsencrypt/live/bootstrap.example.org/privkey.pem environment: - RUST_LOG=info network_mode: host volumes: # Replace this with the path to the TLS certificate files on the host # and your desired mount point inside the container, in this format: # <host path>:<mount point> - /etc/letsencrypt/:/etc/letsencrypt/ restart: unless-stopped !!! info Tuning the bootstrap server's p...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~72-~72: Use colons correctly
Context: .../ restart: unless-stopped ``` !!! info Tuning the bootstrap server's performan...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~73-~73: There might be a mistake here.
Context: ...` and convert them to hyphen-case, like this: yaml # ... command: - kitsune2-bootstrap-srv - --sbd-limit-clients - 50 # ... !!! ## Run the container Test...
(QB_NEW_EN_OTHER)
[grammar] ~85-~85: There might be a mistake here.
Context: ...ts - 50 # ... !!! ## Run the container Test the configuration: bash docker ...
(QB_NEW_EN_OTHER)
[grammar] ~87-~87: There might be a mistake here.
Context: ...!!! ## Run the container Test the configuration: bash docker compose up ``` You should see a lot of log message...
(QB_NEW_EN_OTHER)
[style] ~93-~93: Consider using a synonym to be more concise.
Context: ...h docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[grammar] ~93-~93: There might be a mistake here.
Context: ...a lot of log messages, ending with this line: ::: output-block ```text bootstrap-1 |...
(QB_NEW_EN_OTHER)
[grammar] ~95-~95: There might be a problem here.
Context: ...g messages, ending with this line: ::: output-block text bootstrap-1 | #kitsune2_bootstrap_srv#listening#[::]:443# ::: If you see this, you know your server i...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~101-~101: There might be a mistake here.
Context: ...ow run the container in detached/daemon mode: bash docker compose up --detach !!! info Running a production serve...
(QB_NEW_EN_OTHER)
[style] ~108-~108: This phrase is redundant. Consider using “outside”.
Context: ...n use. Operating a production server is outside of the scope of this documentation, and wi...
(OUTSIDE_OF)
[grammar] ~108-~108: There might be a mistake here.
Context: ... server is outside of the scope of this documentation, and will require thinking about things...
(QB_NEW_EN_OTHER)
[grammar] ~108-~108: There might be a mistake here.
Context: ... are things to know about the bootstrap server: * Even though the server keeps its own st...
(QB_NEW_EN_OTHER)
[grammar] ~111-~111: Use hyphens correctly
Context: ...g instances of the bootstrap server for load-sharing. * One instance can be used as ...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[typographical] ~114-~114: To join two clauses or set off examples, consider using an em dash.
Context: ...nstance for your expected peak level of usage --- it may be helpful to simulate this using...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~115-~115: Use correct spacing
Context: ...hain in high-load or failure scenarios. !!! ## Configure your hApp to use your bootstra...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~118-~118: There might be a mistake here.
Context: ...nfigure your hApp to use your bootstrap server To use your server in testing, and to te...
(QB_NEW_EN_OTHER)
[grammar] ~122-~122: There might be a mistake here.
Context: .../issues/4761 --> To use your server in testing, and to test that the server is running...
(QB_NEW_EN_OTHER)
[grammar] ~122-~122: There might be a mistake here.
Context: ...ckage.json` file and edit the following line: diff:json ... "scripts": { - "start": "AGENTS=${AGENTS:-3} BOOTSTRAP_PORT=$(get-port) npm run network", + "start": "AGENTS=${AGENTS:-3} npm run network", "network": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:happ\" \"hc playground\"", "test": "npm run build:zomes && hc app pack workdir --recursive && npm run test --workspace tests", // Replace the hApp bundle name and URLs with your actual values. - "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT workdir/my_app.happ", + "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT --bootstrap-url \"https://bootstrap.example.org\" --signaling-url \"wss://bootstrap.example.org\" workdir/my_app.happ", // If you use the Tauri-based launcher, you can also make the following // edits. - "start:tauri": "AGENTS=${AGENTS:-2} BOOTSTRAP_PORT=$(get-port) npm run network:tauri", + "start:tauri": "AGENTS=${AGENTS:-2} npm run network:tauri", "network:tauri": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:tauri\" \"hc playground\"", - "launch:tauri": "concurrently \"kitsune2-bootstrap-srv --listen \"127.0.0.1:$BOOTSTRAP_PORT\"\" \"echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT network --bootstrap http://127.0.0.1:\"$BOOTSTRAP_PORT\" webrtc ws://127.0.0.1:\"$BOOTSTRAP_PORT\"\"", + "launch:tauri": "echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT network --bootstrap \"https://bootstrap.example.org\" webrtc \"wss://bootstrap.example.org\"", "package": "npm run build:happ && npm run package --workspace ui && hc web-app pack workdir --recursive", "build:happ": "npm run build:zomes && hc app pack workdir --recursive", "build:zomes": "cargo build --release --target wasm32-unknown-unknown" }, ... If you're usi...
(QB_NEW_EN_OTHER)
[grammar] ~150-~150: There might be a mistake here.
Context: ...onfig.ts` file, then edit the following lines: diff:typescript import { defineConfig } from './src/main/defineConfig'; export default defineConfig({ // ... // Use your actual domain name here. - bootstrapUrl: 'https://dev-test-bootstrap2.holochain.org/', + bootstrapUrl: 'https://bootstrap.example.org/', - signalUrl: 'wss://dev-test-bootstrap2.holochain.org/', + signalUrl: 'wss://bootstrap.example.org/', iceUrls: ['stun:stun.l.google.com:19302','stun:stun.cloudflare.com:3478'], // ... }); !!! info Hardening your...
(QB_NEW_EN_OTHER)
[grammar] ~168-~168: Use colons correctly
Context: ...re.com:3478'], // ... }); ``` !!! info Hardening your server against unintende...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~169-~169: There might be a mistake here.
Context: ...cate incoming connections to the server because: * Unauthorized requests to the bootstrap ...
(QB_NEW_EN_OTHER)
[grammar] ~172-~172: Use correct spacing
Context: ...ther hApps to freeload on your server's bandwidth. We plan to discuss [authentication optio...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[style] ~174-~174: Using many exclamation marks might seem excessive (in this case: 24 exclamation marks for a text that’s 5818 characters long)
Context: .../blob/main/spec-auth.md) in the future. !!!
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
src/pages/resources/howtos/running-network-infrastructure.md
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
33-33: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
35-35: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
36-36: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
38-38: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
82-82: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
96-96: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
98-98: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
175-175: Files should end with a single newline character
(MD047, single-trailing-newline)
2234047 to
64861f0
Compare
…th test and production
64861f0 to
6b4cf6e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (2)
src/pages/resources/howtos/running-network-infrastructure.md (2)
5-7: Intro wording still ignores prior suggestion – prefer “how-to” & present-tensePrevious feedback recommended the concise, Oxford-comma version (“This how-to walks you through …”) but the text has reverted.
Keeping consistent terminology (“how-to”) across docs aids searchability and polish.-This howto will walk you through downloading, configuring, and running a containerized setup … +This how-to walks you through downloading, configuring, and running a containerised setup …
177-184: File still missing trailing newlineMarkdownlint MD047 and many POSIX tooling conventions expect a newline after the final
!!!line.-!!! +!!! +
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
📚 Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which req...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
📚 Learning: in documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers ...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...g Network Infrastructure --- ::: intro This howto will walk you through downloading,...
(QB_NEW_EN_OTHER)
[grammar] ~6-~6: There might be a mistake here.
Context: ...direct connection can't be established. ::: The [kitsune2 bootstrap server](https:/...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...itsune2/tree/main/crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signal...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: There might be a mistake here.
Context: ...crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signalling for WebRTC co...
(QB_NEW_EN_OTHER)
[grammar] ~12-~12: There might be a mistake here.
Context: ...ing for WebRTC connection setup between peers * Optionally, the same WebSocket protocol ...
(QB_NEW_EN_OTHER)
[grammar] ~13-~13: There might be a mistake here.
Context: ...nection to each other in the signalling step Any user-friendly hApp will need these s...
(QB_NEW_EN_OTHER)
[grammar] ~15-~15: Ensure spelling is correct
Context: ... the signalling step Any user-friendly hApp will need these services in order to op...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~15-~15: Consider a more concise word here.
Context: ...-friendly hApp will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~15-~15: Use correct spacing
Context: ...pp will need these services in order to operate. !!! info Public server The Holochain Fou...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~17-~17: Use colons correctly
Context: ...ese services in order to operate. !!! info Public server The Holochain Foundation ...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~18-~18: Use correct spacing
Context: ...bandwidth and has no uptime guarantees. !!! ## Requirements * A server with a containe...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~24-~24: Use modal and auxiliary verbs correctly
Context: ... and key files for your server's domain name stored in the server's filesystem in [P...
(QB_NEW_EN_OTHER_ERROR_IDS_24)
[grammar] ~24-~24: There might be a problem here.
Context: ...your server's domain name stored in the server's filesystem in [PEM](https://en.wikipedia.org/wiki/...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~24-~24: Use correct spacing
Context: ...he certificates will be trusted by your users. ## Create a Docker compose file Create a `...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~26-~26: There might be a mistake here.
Context: ...sted by your users. ## Create a Docker compose file Create a docker-compose.yaml file in a...
(QB_NEW_EN_OTHER)
[grammar] ~28-~28: There might be a mistake here.
Context: ...t/kitsune2-bootstrap` and editing it in Vim: bash sudo mkdir -p /opt/kitsune2-bootstrap ```bash sudo touch /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash sudo chown $(whoami) /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash vim /opt/kitsune2-bootstrap/docker-compose.yaml ``` Copy this code into the fi...
(QB_NEW_EN_OTHER)
[grammar] ~43-~43: Use correct spacing
Context: ...TLS certificate and key files, and save it. yaml services: bootstrap: image: ghcr.io/holochain/kitsune2_bootstrap_srv:v0.2.11 command: - kitsune2-bootstrap-srv - --production - --listen - "[::]:443" # Replace these with actual paths to your cert and key files, # relative to the local volume mount point you specify further down. - --tls-cert - /etc/letsencrypt/live/bootstrap.example.org/fullchain.pem - --tls-key - /etc/letsencrypt/live/bootstrap.example.org/privkey.pem environment: - RUST_LOG=info network_mode: host volumes: # Replace this with the path to the TLS certificate files on the host # and your desired mount point inside the container, in this format: # <host path>:<mount point> - /etc/letsencrypt/:/etc/letsencrypt/ restart: unless-stopped !!! info Tuning the bootstrap server's p...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~72-~72: Use colons correctly
Context: .../ restart: unless-stopped ``` !!! info Tuning the bootstrap server's performan...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~73-~73: There might be a mistake here.
Context: ...` and convert them to hyphen-case, like this: yaml # ... command: - kitsune2-bootstrap-srv - --sbd-limit-clients - 50 # ... !!! ## Run the container Test...
(QB_NEW_EN_OTHER)
[grammar] ~85-~85: There might be a mistake here.
Context: ...ts - 50 # ... !!! ## Run the container Test the configuration: bash docker ...
(QB_NEW_EN_OTHER)
[grammar] ~87-~87: There might be a mistake here.
Context: ...!!! ## Run the container Test the configuration: bash docker compose up ``` You should see a lot of log message...
(QB_NEW_EN_OTHER)
[style] ~93-~93: Consider using a synonym to be more concise.
Context: ...h docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[grammar] ~93-~93: There might be a mistake here.
Context: ...a lot of log messages, ending with this line: ::: output-block ```text bootstrap-1 |...
(QB_NEW_EN_OTHER)
[grammar] ~95-~95: There might be a problem here.
Context: ...g messages, ending with this line: ::: output-block text bootstrap-1 | #kitsune2_bootstrap_srv#listening#[::]:443# ::: If you see this, you know your server i...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~101-~101: There might be a mistake here.
Context: ...ow run the container in detached/daemon mode: bash docker compose up --detach !!! info Running a production serve...
(QB_NEW_EN_OTHER)
[style] ~108-~108: This phrase is redundant. Consider using “outside”.
Context: ...n use. Operating a production server is outside of the scope of this documentation, and wi...
(OUTSIDE_OF)
[grammar] ~108-~108: There might be a mistake here.
Context: ... server is outside of the scope of this documentation, and will require thinking about things...
(QB_NEW_EN_OTHER)
[grammar] ~108-~108: There might be a mistake here.
Context: ... are things to know about the bootstrap server: * Even though the server keeps its own st...
(QB_NEW_EN_OTHER)
[grammar] ~111-~111: Use hyphens correctly
Context: ...g instances of the bootstrap server for load-sharing. * One instance can be used as ...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[typographical] ~114-~114: To join two clauses or set off examples, consider using an em dash.
Context: ...nstance for your expected peak level of usage --- it may be helpful to simulate this using...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~115-~115: Use correct spacing
Context: ...hain in high-load or failure scenarios. !!! ## Configure your hApp to use your bootstra...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~118-~118: There might be a problem here.
Context: ...nfigure your hApp to use your bootstrap server ### Testing To use your server in testing, and to te...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~124-~124: There might be a mistake here.
Context: ...--> ### Testing To use your server in testing, and to test that the server is running...
(QB_NEW_EN_OTHER)
[grammar] ~124-~124: Use correct spacing
Context: ...ckage.json` file and edit the following lines. !!! Use a network seed during testing If...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~127-~127: Use correct spacing
Context: ... that test data ends up in its own DHT. !!! diff:json ... "scripts": { - "start": "AGENTS=${AGENTS:-3} BOOTSTRAP_PORT=$(get-port) npm run network", + "start": "AGENTS=${AGENTS:-3} npm run network", "network": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:happ\" \"hc playground\"", "test": "npm run build:zomes && hc app pack workdir --recursive && npm run test --workspace tests", // Replace the hApp bundle name and URLs with your actual values. - "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT workdir/my_app.happ", + // Use bootstrap server + "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT --bootstrap-url \"https://bootstrap.example.org\" --signaling-url \"wss://bootstrap.example.org\" --network-seed \"bootstrap-testing-network-only\" workdir/my_app.happ", // If you use the Tauri-based launcher, you can also make the following // edits. - "start:tauri": "AGENTS=${AGENTS:-2} BOOTSTRAP_PORT=$(get-port) npm run network:tauri", + "start:tauri": "AGENTS=${AGENTS:-2} npm run network:tauri", "network:tauri": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:tauri\" \"hc playground\"", - "launch:tauri": "concurrently \"kitsune2-bootstrap-srv --listen \"127.0.0.1:$BOOTSTRAP_PORT\"\" \"echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT network --bootstrap http://127.0.0.1:\"$BOOTSTRAP_PORT\" webrtc ws://127.0.0.1:\"$BOOTSTRAP_PORT\"\"", + "launch:tauri": "echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT --network-seed \"bootstrap-testing-network-only\" network --bootstrap \"https://bootstrap.example.org\" webrtc \"wss://bootstrap.example.org\"", "package": "npm run build:happ && npm run package --workspace ui && hc web-app pack workdir --recursive", "build:happ": "npm run build:zomes && hc app pack workdir --recursive", "build:zomes": "cargo build --release --target wasm32-unknown-unknown" }, ... ### Production If you're using [Kangaroo](h...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~159-~159: There might be a mistake here.
Context: ...onfig.ts` file, then edit the following lines: diff:typescript import { defineConfig } from './src/main/defineConfig'; export default defineConfig({ // ... // Use your actual domain name here. - bootstrapUrl: 'https://dev-test-bootstrap2.holochain.org/', + bootstrapUrl: 'https://bootstrap.example.org/', - signalUrl: 'wss://dev-test-bootstrap2.holochain.org/', + signalUrl: 'wss://bootstrap.example.org/', iceUrls: ['stun:stun.l.google.com:19302','stun:stun.cloudflare.com:3478'], // ... }); !!! info Hardening your...
(QB_NEW_EN_OTHER)
[grammar] ~177-~177: Use colons correctly
Context: ...re.com:3478'], // ... }); ``` !!! info Hardening your server against unintende...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~178-~178: There might be a mistake here.
Context: ...cate incoming connections to the server because: * Unauthorized requests to the bootstrap ...
(QB_NEW_EN_OTHER)
[grammar] ~181-~181: Use correct spacing
Context: ...ther hApps to freeload on your server's bandwidth. We plan to discuss [authentication optio...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[style] ~183-~183: Using many exclamation marks might seem excessive (in this case: 30 exclamation marks for a text that’s 6122 characters long)
Context: .../blob/main/spec-auth.md) in the future. !!!
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
src/pages/resources/howtos/running-network-infrastructure.md
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
33-33: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
35-35: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
36-36: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
38-38: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
82-82: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
96-96: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
98-98: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
184-184: Files should end with a single newline character
(MD047, single-trailing-newline)
🔇 Additional comments (1)
src/pages/resources/howtos/running-network-infrastructure.md (1)
53-55:--listen "[::]:443"may not accept IPv4 on some hostsBinding only to the IPv6 wildcard relies on the kernel’s
net.ipv6.bindv6only = 0default.
On hardened or some container hosts this is often1, leaving the service unreachable via IPv4.Consider an explicit dual bind or IPv4 wildcard:
- - --listen - - "[::]:443" +# Prefer dual-stack compatibility + - --listen + - "0.0.0.0:443" +# or for dual entries: +# - --listen +# - "0.0.0.0:443,[::]:443"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
src/pages/resources/howtos/running-network-infrastructure.md (1)
184-184: Still missing trailing newline – same concern raised earlier.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
📚 Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which req...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
📚 Learning: in documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers ...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[style] ~15-~15: Consider a more concise word here.
Context: ...-friendly hApp will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[style] ~93-~93: Consider using a synonym to be more concise.
Context: ...h docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[style] ~108-~108: This phrase is redundant. Consider using “outside”.
Context: ...n use. Operating a production server is outside of the scope of this documentation, and wi...
(OUTSIDE_OF)
[style] ~183-~183: Using many exclamation marks might seem excessive (in this case: 30 exclamation marks for a text that’s 6122 characters long)
Context: .../blob/main/spec-auth.md) in the future. !!!
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
src/pages/resources/howtos/running-network-infrastructure.md
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
33-33: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
35-35: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
36-36: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
38-38: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
82-82: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
96-96: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
98-98: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
184-184: Files should end with a single newline character
(MD047, single-trailing-newline)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
📚 Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which req...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
📚 Learning: in documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers ...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...g Network Infrastructure --- ::: intro This howto will walk you through downloading,...
(QB_NEW_EN_OTHER)
[grammar] ~6-~6: There might be a mistake here.
Context: ...direct connection can't be established. ::: The [kitsune2 bootstrap server](https:/...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...itsune2/tree/main/crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signal...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: There might be a mistake here.
Context: ...crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signaling for WebRTC con...
(QB_NEW_EN_OTHER)
[grammar] ~12-~12: There might be a mistake here.
Context: ...ing for WebRTC connection setup between peers * Optionally, the same WebSocket protocol ...
(QB_NEW_EN_OTHER)
[grammar] ~13-~13: There might be a mistake here.
Context: ...nnection to each other in the signaling step Any user-friendly hApp will need these s...
(QB_NEW_EN_OTHER)
[grammar] ~15-~15: Ensure spelling is correct
Context: ...n the signaling step Any user-friendly hApp will need these services in order to op...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~15-~15: Consider a more concise word here.
Context: ...-friendly hApp will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~15-~15: Use correct spacing
Context: ...pp will need these services in order to operate. !!! info Public server The Holochain Fou...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~17-~17: Use colons correctly
Context: ...ese services in order to operate. !!! info Public server The Holochain Foundation ...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~18-~18: Use correct spacing
Context: ...bandwidth and has no uptime guarantees. !!! ## Requirements * A server with a containe...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~24-~24: Use modal and auxiliary verbs correctly
Context: ... and key files for your server's domain name stored in the server's filesystem in [P...
(QB_NEW_EN_OTHER_ERROR_IDS_24)
[grammar] ~24-~24: There might be a problem here.
Context: ...your server's domain name stored in the server's filesystem in [PEM](https://en.wikipedia.org/wiki/...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~24-~24: Use correct spacing
Context: ...he certificates will be trusted by your users. ## Create a Docker compose file Create a `...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~26-~26: There might be a mistake here.
Context: ...sted by your users. ## Create a Docker compose file Create a docker-compose.yaml file in a...
(QB_NEW_EN_OTHER)
[grammar] ~28-~28: There might be a mistake here.
Context: ...t/kitsune2-bootstrap` and editing it in Vim: bash sudo mkdir -p /opt/kitsune2-bootstrap ```bash sudo touch /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash sudo chown $(whoami) /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash vim /opt/kitsune2-bootstrap/docker-compose.yaml ``` Copy this code into the fi...
(QB_NEW_EN_OTHER)
[grammar] ~43-~43: Use correct spacing
Context: ...TLS certificate and key files, and save it. yaml services: bootstrap: image: ghcr.io/holochain/kitsune2_bootstrap_srv:v0.2.11 command: - kitsune2-bootstrap-srv - --production - --listen - "[::]:443" # Replace these with actual paths to your cert and key files, # relative to the local volume mount point you specify further down. - --tls-cert - /etc/letsencrypt/live/bootstrap.example.org/fullchain.pem - --tls-key - /etc/letsencrypt/live/bootstrap.example.org/privkey.pem environment: - RUST_LOG=info network_mode: host volumes: # Replace this with the path to the TLS certificate files on the host # and your desired mount point inside the container, in this format: # <host path>:<mount point> - /etc/letsencrypt/:/etc/letsencrypt/ restart: unless-stopped !!! info Tuning the bootstrap server's p...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~72-~72: Use colons correctly
Context: .../ restart: unless-stopped ``` !!! info Tuning the bootstrap server's performan...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~73-~73: There might be a mistake here.
Context: ...` and convert them to hyphen-case, like this: yaml # ... command: - kitsune2-bootstrap-srv - --sbd-limit-clients - 50 # ... !!! ## Run the container Test...
(QB_NEW_EN_OTHER)
[grammar] ~85-~85: There might be a mistake here.
Context: ...ts - 50 # ... !!! ## Run the container Test the configuration: bash docker ...
(QB_NEW_EN_OTHER)
[grammar] ~87-~87: There might be a mistake here.
Context: ...!!! ## Run the container Test the configuration: bash docker compose up ``` You should see a lot of log message...
(QB_NEW_EN_OTHER)
[style] ~93-~93: Consider using a synonym to be more concise.
Context: ...h docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[grammar] ~93-~93: There might be a mistake here.
Context: ...a lot of log messages, ending with this line: ::: output-block ```text bootstrap-1 |...
(QB_NEW_EN_OTHER)
[grammar] ~95-~95: There might be a problem here.
Context: ...g messages, ending with this line: ::: output-block text bootstrap-1 | #kitsune2_bootstrap_srv#listening#[::]:443# ::: If you see this, you know your server i...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~101-~101: There might be a mistake here.
Context: ...ow run the container in detached/daemon mode: bash docker compose up --detach !!! info Running a production serve...
(QB_NEW_EN_OTHER)
[style] ~108-~108: This phrase is redundant. Consider using “outside”.
Context: ...n use. Operating a production server is outside of the scope of this documentation, and wi...
(OUTSIDE_OF)
[grammar] ~108-~108: There might be a mistake here.
Context: ... server is outside of the scope of this documentation, and will require thinking about things...
(QB_NEW_EN_OTHER)
[grammar] ~108-~108: There might be a mistake here.
Context: ... are things to know about the bootstrap server: * Even though the server keeps its own st...
(QB_NEW_EN_OTHER)
[grammar] ~111-~111: Use hyphens correctly
Context: ...g instances of the bootstrap server for load-sharing. * One instance can be used as ...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[typographical] ~114-~114: To join two clauses or set off examples, consider using an em dash.
Context: ...nstance for your expected peak level of usage --- it may be helpful to simulate this using...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~115-~115: Use correct spacing
Context: ...hain in high-load or failure scenarios. !!! ## Configure your hApp to use your bootstra...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~118-~118: There might be a problem here.
Context: ...nfigure your hApp to use your bootstrap server ### Testing To use your server in testing, and to te...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~124-~124: There might be a mistake here.
Context: ...--> ### Testing To use your server in testing, and to test that the server is running...
(QB_NEW_EN_OTHER)
[grammar] ~124-~124: Use correct spacing
Context: ...ckage.json` file and edit the following lines. !!! info Use a network seed during testi...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~126-~126: Use colons correctly
Context: ...ile and edit the following lines. !!! info Use a network seed during testing If yo...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~126-~126: There might be a mistake here.
Context: ...es. !!! info Use a network seed during testing If you use the same server for productio...
(QB_NEW_EN_OTHER)
[grammar] ~127-~127: Use correct spacing
Context: ... that test data ends up in its own DHT. !!! diff:json ... "scripts": { - "start": "AGENTS=${AGENTS:-3} BOOTSTRAP_PORT=$(get-port) npm run network", + "start": "AGENTS=${AGENTS:-3} npm run network", "network": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:happ\" \"hc playground\"", "test": "npm run build:zomes && hc app pack workdir --recursive && npm run test --workspace tests", // Replace the hApp bundle name and URLs with your actual values. - "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT workdir/my_app.happ", + // Use bootstrap server + "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT --bootstrap-url \"https://bootstrap.example.org\" --signaling-url \"wss://bootstrap.example.org\" --network-seed \"bootstrap-testing-network-only\" workdir/my_app.happ", // If you use the Tauri-based launcher, you can also make the following // edits. - "start:tauri": "AGENTS=${AGENTS:-2} BOOTSTRAP_PORT=$(get-port) npm run network:tauri", + "start:tauri": "AGENTS=${AGENTS:-2} npm run network:tauri", "network:tauri": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:tauri\" \"hc playground\"", - "launch:tauri": "concurrently \"kitsune2-bootstrap-srv --listen \"127.0.0.1:$BOOTSTRAP_PORT\"\" \"echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT network --bootstrap http://127.0.0.1:\"$BOOTSTRAP_PORT\" webrtc ws://127.0.0.1:\"$BOOTSTRAP_PORT\"\"", + "launch:tauri": "echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT --network-seed \"bootstrap-testing-network-only\" network --bootstrap \"https://bootstrap.example.org\" webrtc \"wss://bootstrap.example.org\"", "package": "npm run build:happ && npm run package --workspace ui && hc web-app pack workdir --recursive", "build:happ": "npm run build:zomes && hc app pack workdir --recursive", "build:zomes": "cargo build --release --target wasm32-unknown-unknown" }, ... ### Production If you're using [Kangaroo](h...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~159-~159: There might be a mistake here.
Context: ...onfig.ts` file, then edit the following lines: diff:typescript import { defineConfig } from './src/main/defineConfig'; export default defineConfig({ // ... // Use your actual domain name here. - bootstrapUrl: 'https://dev-test-bootstrap2.holochain.org/', + bootstrapUrl: 'https://bootstrap.example.org/', - signalUrl: 'wss://dev-test-bootstrap2.holochain.org/', + signalUrl: 'wss://bootstrap.example.org/', iceUrls: ['stun:stun.l.google.com:19302','stun:stun.cloudflare.com:3478'], // ... }); !!! info Hardening your...
(QB_NEW_EN_OTHER)
[grammar] ~177-~177: Use colons correctly
Context: ...re.com:3478'], // ... }); ``` !!! info Hardening your server against unintende...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~178-~178: There might be a mistake here.
Context: ...cate incoming connections to the server because: * Unauthorized requests to the bootstrap ...
(QB_NEW_EN_OTHER)
[grammar] ~181-~181: Use correct spacing
Context: ...ther hApps to freeload on your server's bandwidth. We plan to discuss [authentication optio...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[style] ~183-~183: Using many exclamation marks might seem excessive (in this case: 30 exclamation marks for a text that’s 6125 characters long)
Context: .../blob/main/spec-auth.md) in the future. !!!
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
src/pages/resources/howtos/running-network-infrastructure.md
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
33-33: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
35-35: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
36-36: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
38-38: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
82-82: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
96-96: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
98-98: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
184-184: Files should end with a single newline character
(MD047, single-trailing-newline)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (1)
src/pages/resources/howtos/running-network-infrastructure.md (1)
17-19: Quote admonition title for correct rendering
The admonition header is still un-quoted (!!! info Public server). Most MD-X parsers treat the first un-quoted word as the type and everything else as body text, so “Public server” is rendered as normal prose rather than a heading.
Wrap the title in quotes to keep the heading styling:-!!! info Public server +!!! info "Public server"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
📚 Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which req...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
📚 Learning: in documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers ...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[style] ~15-~15: Consider a more concise word here.
Context: ...-friendly hApp will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[style] ~93-~93: Consider using a synonym to be more concise.
Context: ...h docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[style] ~108-~108: This phrase is redundant. Consider using “outside”.
Context: ...n use. Operating a production server is outside of the scope of this documentation, and wi...
(OUTSIDE_OF)
[style] ~183-~183: Using many exclamation marks might seem excessive (in this case: 30 exclamation marks for a text that’s 6125 characters long)
Context: .../blob/main/spec-auth.md) in the future. !!!
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
src/pages/resources/howtos/running-network-infrastructure.md
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
33-33: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
35-35: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
36-36: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
38-38: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
82-82: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
96-96: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
98-98: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
184-184: Files should end with a single newline character
(MD047, single-trailing-newline)
🔇 Additional comments (1)
src/pages/resources/howtos/running-network-infrastructure.md (1)
64-69: Good call mounting certificates read-only
The:roflag on the/etc/letsencryptbind-mount prevents accidental or malicious modification of key material from inside the container. Nice security hardening.
|
@pdaoust are you sure about that latest change suggested by coderabbit? The bootstrap server definitely is writing stuff to disk and I think mounting a volume in a docker container means that all data written in that container is written to the associated volume, no? |
|
@matthme good question -- FWIU it shouldn't get write access to the cert files, cuz it could clobber them if it's got a bug (or if there's a supply chain attack). Any other state, Gregory tells me, is ephemeral and can safely be lost and rebuilt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (1)
src/pages/resources/howtos/running-network-infrastructure.md (1)
17-19: Admonition title still unquoted – rendering differs from intentEarlier feedback noted that, without quotes, “Public server” is rendered as plain text instead of a heading.
If the heading style is desired, quote the title:-!!! info Public server +!!! info "Public server"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
src/pages/resources/howtos/running-network-infrastructure.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
📚 Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which req...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: pdaoust uses /opt directory for system-wide service installations like kitsune2-bootstrap, which requires sudo privileges for directory creation - this is standard and appropriate.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
📚 Learning: in documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers ...
Learnt from: pdaoust
PR: holochain/docs-pages#594
File: src/pages/resources/howtos/running-network-infrastructure.md:30-38
Timestamp: 2025-07-30T20:44:56.490Z
Learning: In documentation, pdaoust prefers separate bash code blocks over consolidated ones to allow readers to copy individual commands easily, even if it violates MD031 linting rules.
Applied to files:
src/pages/resources/howtos/running-network-infrastructure.md
🪛 LanguageTool
src/pages/resources/howtos/running-network-infrastructure.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...g Network Infrastructure --- ::: intro This howto will walk you through downloading,...
(QB_NEW_EN_OTHER)
[grammar] ~6-~6: There might be a mistake here.
Context: ...direct connection can't be established. ::: The [kitsune2 bootstrap server](https:/...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...itsune2/tree/main/crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signal...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: There might be a mistake here.
Context: ...crates/bootstrap_srv) provides: * Peer discovery * WebSocket-based signaling for WebRTC con...
(QB_NEW_EN_OTHER)
[grammar] ~12-~12: There might be a mistake here.
Context: ...ing for WebRTC connection setup between peers * Optionally, the same WebSocket protocol ...
(QB_NEW_EN_OTHER)
[grammar] ~13-~13: There might be a mistake here.
Context: ...nnection to each other in the signaling step Any user-friendly hApp will need these s...
(QB_NEW_EN_OTHER)
[grammar] ~15-~15: Ensure spelling is correct
Context: ...n the signaling step Any user-friendly hApp will need these services in order to op...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[style] ~15-~15: Consider a more concise word here.
Context: ...-friendly hApp will need these services in order to operate. !!! info Public server The Ho...
(IN_ORDER_TO_PREMIUM)
[grammar] ~15-~15: Use correct spacing
Context: ...pp will need these services in order to operate. !!! info Public server The Holochain Fou...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~17-~17: Use colons correctly
Context: ...ese services in order to operate. !!! info Public server The Holochain Foundation ...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~18-~18: Ensure spelling is correct
Context: ...ng. It's not appropriate for production hApps, though, because it's low-bandwidth and...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~18-~18: Use correct spacing
Context: ...bandwidth and has no uptime guarantees. !!! ## Requirements * A server with a containe...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~24-~24: Use modal and auxiliary verbs correctly
Context: ... and key files for your server's domain name stored in the server's filesystem in [P...
(QB_NEW_EN_OTHER_ERROR_IDS_24)
[grammar] ~24-~24: There might be a problem here.
Context: ...your server's domain name stored in the server's filesystem in [PEM](https://en.wikipedia.org/wiki/...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~24-~24: Use correct spacing
Context: ...he certificates will be trusted by your users. ## Create a Docker compose file Create a `...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~26-~26: There might be a mistake here.
Context: ...sted by your users. ## Create a Docker compose file Create a docker-compose.yaml file in a...
(QB_NEW_EN_OTHER)
[grammar] ~28-~28: There might be a mistake here.
Context: ...t/kitsune2-bootstrap` and editing it in Vim: bash sudo mkdir -p /opt/kitsune2-bootstrap ```bash sudo touch /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash sudo chown $(whoami) /opt/kitsune2-bootstrap/docker-compose.yaml ``` ```bash vim /opt/kitsune2-bootstrap/docker-compose.yaml ``` Copy this code into the fi...
(QB_NEW_EN_OTHER)
[grammar] ~43-~43: Use correct spacing
Context: ...TLS certificate and key files, and save it. yaml services: bootstrap: image: ghcr.io/holochain/kitsune2_bootstrap_srv:v0.2.11 command: - kitsune2-bootstrap-srv - --production - --listen - "[::]:443" # Replace these with actual paths to your cert and key files, # relative to the local volume mount point you specify further down. - --tls-cert - /etc/letsencrypt/live/bootstrap.example.org/fullchain.pem - --tls-key - /etc/letsencrypt/live/bootstrap.example.org/privkey.pem environment: - RUST_LOG=info ports: - "443:443" volumes: # Replace this with the path to the TLS certificate files on the host # and your desired mount point inside the container, in this format: # <host path>:<mount point> - /etc/letsencrypt/:/etc/letsencrypt/:ro restart: unless-stopped !!! info Tuning the bootstrap server's p...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~73-~73: Use colons correctly
Context: ...o restart: unless-stopped ``` !!! info Tuning the bootstrap server's performan...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~74-~74: There might be a mistake here.
Context: ...` and convert them to hyphen-case, like this: yaml # ... command: - kitsune2-bootstrap-srv - --sbd-limit-clients - 50 # ... !!! ## Run the container Test...
(QB_NEW_EN_OTHER)
[grammar] ~86-~86: There might be a mistake here.
Context: ...ts - 50 # ... !!! ## Run the container Test the configuration: bash docker ...
(QB_NEW_EN_OTHER)
[grammar] ~88-~88: There might be a mistake here.
Context: ...!!! ## Run the container Test the configuration: bash docker compose up ``` You should see a lot of log message...
(QB_NEW_EN_OTHER)
[style] ~94-~94: Consider using a synonym to be more concise.
Context: ...h docker compose up ``` You should see a lot of log messages, ending with this line: :...
(A_LOT_OF)
[grammar] ~94-~94: There might be a mistake here.
Context: ...a lot of log messages, ending with this line: ::: output-block ```text bootstrap-1 |...
(QB_NEW_EN_OTHER)
[grammar] ~96-~96: There might be a problem here.
Context: ...g messages, ending with this line: ::: output-block text bootstrap-1 | #kitsune2_bootstrap_srv#listening#[::]:443# ::: If you see this, you know your server i...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~102-~102: There might be a mistake here.
Context: ...ow run the container in detached/daemon mode: bash docker compose up --detach !!! info Running a production serve...
(QB_NEW_EN_OTHER)
[style] ~109-~109: This phrase is redundant. Consider using “outside”.
Context: ...n use. Operating a production server is outside of the scope of this documentation, and wi...
(OUTSIDE_OF)
[grammar] ~109-~109: There might be a mistake here.
Context: ... server is outside of the scope of this documentation, and will require thinking about things...
(QB_NEW_EN_OTHER)
[grammar] ~109-~109: There might be a mistake here.
Context: ... are things to know about the bootstrap server: * Even though the server keeps its own st...
(QB_NEW_EN_OTHER)
[grammar] ~112-~112: Use hyphens correctly
Context: ...g instances of the bootstrap server for load-sharing. * One instance can be used as ...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[typographical] ~115-~115: To join two clauses or set off examples, consider using an em dash.
Context: ...nstance for your expected peak level of usage --- it may be helpful to simulate this using...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~116-~116: Use correct spacing
Context: ...hain in high-load or failure scenarios. !!! ## Configure your hApp to use your bootstra...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~119-~119: There might be a problem here.
Context: ...nfigure your hApp to use your bootstrap server ### Testing To use your server in testing, and to te...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~125-~125: There might be a mistake here.
Context: ...--> ### Testing To use your server in testing, and to test that the server is running...
(QB_NEW_EN_OTHER)
[grammar] ~125-~125: Use correct spacing
Context: ...ckage.json` file and edit the following lines. !!! info Use a network seed during testi...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~127-~127: Use colons correctly
Context: ...ile and edit the following lines. !!! info Use a network seed during testing If yo...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~127-~127: There might be a mistake here.
Context: ...es. !!! info Use a network seed during testing If you use the same server for productio...
(QB_NEW_EN_OTHER)
[grammar] ~128-~128: Use correct spacing
Context: ... that test data ends up in its own DHT. !!! diff:json ... "scripts": { - "start": "AGENTS=${AGENTS:-3} BOOTSTRAP_PORT=$(get-port) npm run network", + "start": "AGENTS=${AGENTS:-3} npm run network", "network": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:happ\" \"hc playground\"", "test": "npm run build:zomes && hc app pack workdir --recursive && npm run test --workspace tests", // Replace the hApp bundle name and URLs with your actual values. - "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT workdir/my_app.happ", + // Use bootstrap server + "launch:happ": "hc-spin -n $AGENTS --ui-port $UI_PORT --bootstrap-url \"https://bootstrap.example.org\" --signaling-url \"wss://bootstrap.example.org\" --network-seed \"bootstrap-testing-network-only\" workdir/my_app.happ", // If you use the Tauri-based launcher, you can also make the following // edits. - "start:tauri": "AGENTS=${AGENTS:-2} BOOTSTRAP_PORT=$(get-port) npm run network:tauri", + "start:tauri": "AGENTS=${AGENTS:-2} npm run network:tauri", "network:tauri": "hc sandbox clean && npm run build:happ && UI_PORT=$(get-port) concurrently \"npm run start --workspace ui\" \"npm run launch:tauri\" \"hc playground\"", - "launch:tauri": "concurrently \"kitsune2-bootstrap-srv --listen \"127.0.0.1:$BOOTSTRAP_PORT\"\" \"echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT network --bootstrap http://127.0.0.1:\"$BOOTSTRAP_PORT\" webrtc ws://127.0.0.1:\"$BOOTSTRAP_PORT\"\"", + "launch:tauri": "echo pass | RUST_LOG=warn hc launch --piped -n $AGENTS workdir/my_forum_app.happ --ui-port $UI_PORT --network-seed \"bootstrap-testing-network-only\" network --bootstrap \"https://bootstrap.example.org\" webrtc \"wss://bootstrap.example.org\"", "package": "npm run build:happ && npm run package --workspace ui && hc web-app pack workdir --recursive", "build:happ": "npm run build:zomes && hc app pack workdir --recursive", "build:zomes": "cargo build --release --target wasm32-unknown-unknown" }, ... ### Production If you're using [Kangaroo](h...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~160-~160: There might be a mistake here.
Context: ...onfig.ts` file, then edit the following lines: diff:typescript import { defineConfig } from './src/main/defineConfig'; export default defineConfig({ // ... // Use your actual domain name here. - bootstrapUrl: 'https://dev-test-bootstrap2.holochain.org/', + bootstrapUrl: 'https://bootstrap.example.org/', - signalUrl: 'wss://dev-test-bootstrap2.holochain.org/', + signalUrl: 'wss://bootstrap.example.org/', iceUrls: ['stun:stun.l.google.com:19302','stun:stun.cloudflare.com:3478'], // ... }); !!! info Hardening your...
(QB_NEW_EN_OTHER)
[grammar] ~178-~178: Use colons correctly
Context: ...re.com:3478'], // ... }); ``` !!! info Hardening your server against unintende...
(QB_NEW_EN_OTHER_ERROR_IDS_30)
[grammar] ~179-~179: There might be a mistake here.
Context: ...cate incoming connections to the server because: * Unauthorized requests to the bootstrap ...
(QB_NEW_EN_OTHER)
[grammar] ~182-~182: Use correct spacing
Context: ...ther hApps to freeload on your server's bandwidth. We plan to discuss [authentication optio...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[style] ~184-~184: Using many exclamation marks might seem excessive (in this case: 30 exclamation marks for a text that’s 6126 characters long)
Context: .../blob/main/spec-auth.md) in the future. !!!
(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
src/pages/resources/howtos/running-network-infrastructure.md
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
33-33: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
35-35: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
36-36: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
38-38: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
39-39: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
83-83: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
97-97: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
99-99: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
185-185: Files should end with a single newline character
(MD047, single-trailing-newline)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: cog-status-check
Addressed in comment above -- not sure why pressnig the 'resolve' button didn't dismiss the review.
Closes #565 .
Summary by CodeRabbit
Summary by CodeRabbit (edited by @pdaoust )
New Features
Documentation
Chores