Skip to content

Add Docker support and rewrite the installation guide - #7

Merged
maarkN merged 2 commits into
mainfrom
chore/docker-and-install-docs
Jul 4, 2026
Merged

maarkN merged 2 commits into
mainfrom
chore/docker-and-install-docs

Conversation

@maarkN

@maarkN maarkN commented Jul 4, 2026

Copy link
Copy Markdown
Owner

What

  • Docker: multi-stage Dockerfile (+ .dockerignore). The build stage compiles the SDK; the runtime stage ships a lean image bundling Node 22, Python 3 and cloudscraper in an isolated venv, running as a non-root user. docker run -i --rm cloudscraper-js boots the MCP server in a single command.
  • Docs: rewrote INSTALLATION.md to drop the stale auto-install / postinstall narrative (removed in 0.2.0) in favor of explicit pip / venv / helper paths, added a Docker section, and added a Docker pointer to the README.

Why

INSTALLATION.md still described the privileged auto-install on postinstall that was removed for security in 0.2.0 — contradicting both the README and package.json. The project also had no container image despite needing Node and Python 3 at runtime, so there was no one-command way to run the stack (or the MCP server) in a clean environment.

Verification

  • docker build succeeds; the cloudscraper import is checked at build time.
  • In-container smoke tests:
    • Python 3 + cloudscraper reachable as the non-root user (uid 1000) via the venv on PATH.
    • SDK loads under Node with all exports (createScraper, MCP, LangChain tool, function schemas, markdown).
    • End-to-end Node⇄Python daemon ping returns {"ok":true,"pong":true,"cloudscraper":true}.
  • Image size ~484 MB.

Commits

  • chore(docker): add container image with Node, Python and cloudscraper
  • docs(install): rewrite guide for opt-in setup and document Docker

maarkN added 2 commits July 4, 2026 08:35
Multi-stage build compiles the SDK, then ships a lean runtime with Python 3
and cloudscraper in an isolated venv, running as a non-root user. Boots the
MCP server in a single command; verified end-to-end (daemon ping).
Drop the stale auto-install/postinstall narrative (removed in 0.2.0) in favor
of explicit pip/venv/helper paths, and add a Docker section plus a README
pointer.
@maarkN
maarkN merged commit 3768783 into main Jul 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant