moltworld-dashboard-deploy
// Install, harden, and run the MoltWorld Dashboard reliably for real users. Use when asked to set up local runtime scaffolding (README/package.json/.env/.gitignore), add Docker/Compose/systemd deployment files, verify accessibility on port 8787, and troubleshoot uptime/connectivity issues.
$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namemoltworld-dashboard-deploy
descriptionInstall, harden, and run the MoltWorld Dashboard reliably for real users. Use when asked to set up local runtime scaffolding (README/package.json/.env/.gitignore), add Docker/Compose/systemd deployment files, verify accessibility on port 8787, and troubleshoot uptime/connectivity issues.
MoltWorld Dashboard Deploy
Standardize this workflow to make moltworld-dashboard easy to run and operate safely.
Runtime requirements
Required binaries:
- npm
- docker
- docker-compose
Optional (privileged persistence path only):
- systemd
- sudo
Safety gates (mandatory)
- Treat project dependencies as untrusted until reviewed.
- Before package install, inspect
package.jsonand lockfile for suspicious scripts/deps. - Ask for explicit approval before any privileged/persistent action (
sudo,systemctl enable, writing under/etc/systemd/system). - Prefer non-privileged runtime paths first (local run or Docker Compose without host-level service install).
- Never use
curl | bashor equivalent remote script execution.
Workflow
- Verify baseline project files exist (
server.mjs,public/). - Add/shareability files if missing:
package.json(start script).env.example.nvmrc.gitignoreREADME.md
- Add deployment files if requested:
Dockerfiledocker-compose.ymlmoltworld-dashboard.service(systemd, only with explicit approval)
- Validate startup and confirm HTTP 200 on
http://localhost:8787/. - Validate restart behavior and long-running stability.
- Confirm accessibility via localhost or host IP.
- Document runbook steps for operators.
Required file conventions
- Keep runtime state out of git (
data/state.json, logs, pids). - Keep secrets out of git (
.env). - Default runtime port:
8787. - README must include:
- local quick start
- Docker run
- Docker Compose run
- systemd install/enable instructions marked as privileged/optional
Runtime stability checks
Use these checks when service becomes unreachable:
ss -ltnp | grep ':8787' || true
curl -I --max-time 5 http://localhost:8787/
If process is down, restart with a supervisor (Docker Compose or approved systemd service) instead of ad-hoc foreground runs.
Troubleshooting quick checks
- Service down: verify listener on
:8787. - Loop timeouts: increase API timeout and add retries in
postJson. - Process died after exec session: restart with supervisor.
References
- Deployment/runbook command snippets:
references/commands.md