安装

更新于 2026-09-29在 GitHub 上编辑

三种安装方式:发行包、源码构建、Docker。三者产物相同——一个 web/(面板)与一个 daemon/(节点)。

从发行包安装

GitHub Releases 上为每个版本提供不同平台的压缩包,统一使用 elementspanel_* 前缀命名,解压后顶层目录为 elementspanel/。

Linux

下载 elementspanel_linux_release.tar.gz(或只含面板/只含节点的变体),解压后:

tar -xzf elementspanel_linux_release.tar.gz
cd elementspanel/

# 安装运行依赖(仅首次)
./install.sh

./start-daemon.sh   # 守护进程
./start-web.sh      # 面板(另一个终端)
Windows

下载 elementspanel_windows_release.zip,解压后运行 start.bat。压缩包内已附带 Node 20 运行时(node_app.exe),无需另装。

从源码构建

需要 Node.js 20.x。

git clone https://github.com/ElementsPanel/ElementsPanel.git
cd ElementsPanel

# 安装根工作区、common、daemon、panel、frontend 的依赖
./install-dependents.sh    # Windows 用 install-dependents.bat

# 构建 daemon / panel / frontend,产物收集到 production-code/
./build.sh          # Windows 用 build.bat

构建产物在 production-code/:

production-code/
├── daemon/           # 节点(含 plugins/)
├── web/              # 面板(app.js + plugins/)
│   └── public/       # 前端静态资源
└── ...

把 prod-scripts/linux/(或 prod-scripts/windows/)里的启动脚本拷进发行目录,再按上一节启动即可。build.sh 之后也可以直接用开发模式运行(见下)。

Note
GitHub Release 工作流还会把 lib-urls.txt 列出的压缩与伪终端辅助程序下载到 production-code/daemon/lib/。如果要把本地构建打成可部署发行包,也要补齐这些文件,并在 Unix 上赋予可执行权限。

Docker

官方镜像由 CI 构建并推送到 GitHub Container Registry:

  • ghcr.io/elementspanel/elementspanel-web:<release-tag> —— 面板,暴露 23333。

  • ghcr.io/elementspanel/elementspanel-daemon:<release-tag> —— 默认 JDK 21 的节点镜像,暴露 24444。

  • ghcr.io/elementspanel/elementspanel-daemon-jdk8:<release-tag>、-jdk11、-jdk17、-jdk21 —— 固定 JDK 版本的节点镜像。

<release-tag> 使用 GitHub Packages 中与发行版对应的镜像标签,不要假定仓库一定发布了 latest。

面板容器:

docker run -d --name elementspanel-web \
  -p 23333:23333 \
  -v /opt/elementspanel/web/data:/opt/mcsmanager/web/data \
  -v /opt/elementspanel/web/logs:/opt/mcsmanager/web/logs \
  ghcr.io/elementspanel/elementspanel-web:<release-tag>

节点容器(要让面板在容器内创建 Docker 实例,需挂载 Docker socket 并让容器能力可用):

docker run -d --name elementspanel-daemon \
  --network host \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /opt/elementspanel/daemon/data:/opt/mcsmanager/daemon/data \
  -v /opt/elementspanel/daemon/logs:/opt/mcsmanager/daemon/logs \
  ghcr.io/elementspanel/elementspanel-daemon:<release-tag>
Tip
--network host 下无需也不能依赖 -p 端口映射。仓库内的 example.docker-compose.yml 可作为卷挂载与 Docker socket 的参考,但其中的镜像名仍沿用上游 githubyumao/mcsmanager-*,部署 ElementsPanel 时请换成上面的 GHCR 镜像。
Caution
市场插件在生产容器内直接写入 web/plugins/ / daemon/plugins/,不属于 data/ 卷。重建容器前请记录已安装插件并在新容器中重新安装;若自行持久化整个 plugins/,更新镜像时还必须同步刷新其中的内置插件。

开发模式

改代码或开发插件时,不要走构建流程,直接启动三端开发服务:

./install-dependents.sh    # Windows 用 install-dependents.bat
npm run dev        # 等价于 npm run all

该命令用 concurrently 并行启动 Daemon、Frontend、Panel 三个进程(均为 NODE_ENV=development):

  • 前端 Vite 开发服务器默认在 5173,把 /api、/socket.io、/upload_files 代理到面板的 23333。

  • 面板与节点以 nodemon 运行,修改 src/、plugins/ 或 ../external 会自动重启。

  • 开发模式下会额外扫描 external/ 目录,这是插件开发的工作区。

下一步