#install skill docker

1 messages · Page 1 of 1 (latest)

fringe dust
#

how do i install mcporter in docker openclaw npm said this ◇ Install failed: mcporter (exit 243) — npm error A complete log of this run can be found in: /home/node/.npm/_logs/2026-03-03T08_51_10_375Z-debug-0.log
npm error code EACCES
npm error syscall mkdir
npm error path /usr/local/lib/node_modules/mcporter
npm error errno -13
npm error Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/mcporter'
npm error at async mkdir (node:internal/fs/promises:855:10)
npm error at async /usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:624:20
npm error at async Promise.allSettled (index 0)
npm error at async [reifyPackages] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:325:11)
npm error at async Arborist.reify (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:142:5)
npm error at async Install.exec (/usr/local/lib/node_modules/npm/lib/commands/install.js:150:5)
npm error at async Npm.exec (/usr/local/lib/node_modules/npm/lib/npm.js:207:9)
npm error at async module.exports (/usr/local/lib/node_modules/npm/lib/cli/entry.js:74:5) {
npm error errno: -13,
npm error code: 'EACCES',
npm error syscall: 'mkdir',
npm error path: '/usr/local/lib/node_modules/mcporter'
npm error }
npm error
npm error The operation was rejected by your operating system.
npm error It is likely you do not have the permissions to access this file as the current user
npm error
npm error If you believe this might be a permissions issue, please double-check the
npm error permissions of the file and its containing directories, or try running
npm error the command again as root/Administrator.
npm notice
npm notice New major version of npm available! 10.9.4 -> 11.11.0

mental cliffBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

cobalt auroraBOT
#

That error is just “you’re not root, but you’re trying to do a global npm install into /usr/local/...”.

In most Node Docker images (and in a lot of OpenClaw containers) you’re running as the node user, so npm i -g mcporter can’t create /usr/local/lib/node_modules/....

Pick one of these fixes:

Option A (common in Dockerfiles): install as root, then drop back to node

USER root
RUN npm install -g mcporter
USER node

Option B (better if you want to stay non-root): change npm’s global prefix to a writable dir

USER node
#
RUN mkdir -p /home/node/.npm-global
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH=/home/node/.npm-global/bin:$PATH

RUN npm install -g mcporter

Option C (if you’re using pnpm in the container)

RUN corepack enable
USER node
ENV PNPM_HOME=/home/node/.local/share/pnpm
ENV PATH=$PNPM_HOME:$PATH
RUN pnpm add -g mcporter
#

If you paste:

  • the Dockerfile (or the exact docker run ... / docker compose.yml), and
  • the output of whoami + node -v + npm -v

…I can point to the cleanest option for your image setup.

fringe dust
#

how do i do openclaw gateway restart when i use docker

cobalt auroraBOT
#

In Docker you usually don’t run openclaw gateway restart on the host — you restart the gateway container.

If you’re using Docker Compose (OpenClaw docs default)

  1. See the service/container name:
docker compose ps
  1. Restart the gateway service (often called openclaw-gateway):
docker compose restart openclaw-gateway
  1. Watch logs to confirm it came back:
docker compose logs -f openclaw-gateway
#

If you started it with plain docker run

docker ps
docker restart <container_name_or_id>
docker logs -f <container_name_or_id>

If you paste your docker compose ps output (just the service names), I can tell you the exact docker compose restart ... line for your setup.

Docs ref: https://docs.openclaw.ai/install/docker

fringe dust
#

how do i enable the agent to have all the tool except group web and group ui

this is my current config
"agents": {
"defaults": {
"model": {
"primary": "openai-codex/gpt-5.3-codex"
},
"models": {
"openai-codex/gpt-5.3-codex-spark": {}
},
"workspace": "/home/node/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"tools": {
"profile": "messaging"
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto",
"restart": true,
"ownerDisplay": "raw"
},
"session": {
"dmScope": "per-channel-peer"
},
"hooks": {
"internal": {
"enabled": true,
"entries": {
"boot-md": {
"enabled": true
},
"bootstrap-extra-files": {
"enabled": true
},
"command-logger": {
"enabled": true
},
"session-memory": {
"enabled": true
}
}
}
},
"channels": {
"telegram": {
"enabled": true,
"dmPolicy": "pairing",
"botToken": "OPENCLAW_REDACTED",
"groupPolicy": "allowlist",
"streaming": "partial"
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": {
"dangerouslyAllowHostHeaderOriginFallback": true,
"allowInsecureAuth": false
},
"auth": {
"mode": "token",
"token": "OPENCLAW_REDACTED"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
},
"nodes": {
"denyCommands": [
"camera.snap",
"camera.clip",
"screen.record",
"calendar.add",
"contacts.add",
"reminders.add"
]
}
},

cobalt auroraBOT
#

Your tools.profile: "messaging" is what’s limiting you right now.

If you want everything enabled except group:web (web_search, web_fetch) and group:ui (browser, canvas), set the tools config like this:

"tools": {
"profile": "full", // or just remove "profile" entirely
"deny": ["group:web", "group:ui"]
}

That’s it — “full” removes the base allowlist restriction, and deny blocks just those groups (deny always wins).

Then restart the gateway container (since config changes require a restart):

  • Compose: docker compose restart openclaw-gateway
  • Or whichever service name your compose file uses.