用 Node.js 和 Vue.js 做的系统信息收集程序
项目使用 lerna 来管理多个子项目,不同模块的详细信息进入子目录查看。
名称 | 说明 | 地址 |
---|---|---|
客户端 | 负责收集系统信息并发送给服务端 | packages/client |
展示页面 | 负责读取并展示数据 | packages/dashboard |
服务端 | 负责将不同客户端的数据收集并存入数据库 | packages/server |
主页,客户端列表页面:
客户端详情页面:
开发工具:
- pnpm/pnpm: Fast, disk space efficient package manager
- lerna/lerna: A tool for managing JavaScript projects with multiple packages.
- TypeStrong/ts-node: TypeScript execution and REPL for node.js
- remy/nodemon: Monitor for any changes in your node.js application and automatically restart the server - perfect for development
- prettier/prettier: Prettier is an opinionated code formatter.
构建工具:
- evanw/esbuild: An extremely fast JavaScript bundler and minifier
- vercel/pkg: Package your Node.js project into an executable
- docker/compose: Define and run multi-container applications with Docker
安装依赖需要用到 pnpm 包管理工具。
pnpm i && pnpm run link
运行 server
模块时记得添加环境变量,用于连接数据库(或者直接使用 Docker Compose)。
客户端和服务端的 Docker 镜像已经上传到 Docker Hub 中。
其中,客户端使用 client
开头的 Tag,服务端使用 server
开头的 Tag。
# 服务端
docker pull lifeni/node-monitor:server
# 客户端
docker pull lifeni/node-monitor:client