feat(infra): run Kubo in docker-compose (server profile, pinned version)
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 58/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- docker, docker-compose
- Domain
- devops, infrastructure
Research direction
Start with docker-compose.yaml and the current backend and Caddy services; check the pinned Kubo release documentation before choosing the image tag and config keys. Add the service, healthcheck, and network and port settings, then document the version and settings in the README. Write a smoke script under scripts/ that adds and cats content and checks matching CIDs; done means the service becomes healthy and the RPC port stays private.
Written by the indexing model from the issue text.
Description
Summary
Add an always-on Kubo node to the compose stack as the platform's content node.
Estimated size: M
Motivation
Browser Helia nodes come and go; an always-on peer is what lets a shared CID open on another machine.
Current state in this repo
docker-compose.yamlrunsbackendandcaddy; there is no IPFS node.
Proposal
- Add a
kuboservice with a pinned image tag (notlatest), a persistent volume and theserverconfig profile applied at init. - Publish swarm (4001 tcp/udp) as needed; keep the RPC API (5001) on the compose network only; publish the gateway (8080) to localhost in dev.
- Add a healthcheck and a README section recording the Kubo version and the config keys used, with a link to the docs for that version (verify every setting against the release you pin).
Acceptance criteria
-
docker compose up kubobecomes healthy. - A script performs add then cat through the node and prints matching CIDs.
- The RPC port is unreachable from outside the compose network.
- No secrets are committed.
Out of scope
- Production hosting; browser transports; auth (separate issues).
Dependencies
- None; can be picked up independently.
Testing plan
- Smoke script in
scripts/; later wired into CI by the integration-test issue.
Part of #43. Ground rules for the content layer: no secrets in the repo, content-layer failures must never block or discard quantum execution, and tests and docs ship with every PR.
- Dominant language
- Python
- Stars
- 2
- Forks
- 4
- Avg merge
- 5h 19m
- Merged PRs (30d)
- 11
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
QMeshPy/distributed-quantum#53 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments research-spike tier-2
Difficulty 4/5 3-5 days Newbie friendliness 55/100
QMeshPy/distributed-quantum#78 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments research-spike tier-2
Difficulty 3/5 1-2 days Newbie friendliness 66/100
QMeshPy/distributed-quantum#77 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments tier-2
Difficulty 5/5 Over a week Newbie friendliness 35/100
QMeshPy/distributed-quantum#76 ·
Maintainers usually reply within 1 day
-
documentation good first issue kubo storage tier-1
Difficulty 2/5 1-3 hours Newbie friendliness 42/100
QMeshPy/distributed-quantum#75 ·
Maintainers usually reply within 1 day
All issues in QMeshPy/distributed-quantum
Similar issues
-
resource-submission validation-passed
Difficulty 1/5 Under an hour Newbie friendliness 88/100
hesreallyhim/awesome-claude-code#3214 · 1 comment ·
Maintainers usually reply within 1 day
-
room-commons replace accepts an empty old string and silently prepends the new text to the pageOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
doobidoo/mcp-memory-service#1650 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ml-explore/mlx-lm#2002 ·
Maintainers usually reply within 2 days