今天看见了一个说盗版Nodeseek的帖子 https://www.nodeloc.com/d/24586 ,进去发现有一个[自研VPS探针分享 一个现代化的服务器状态监控面板]的blogs挺有意思(主要是面板挺好看的,然后就有了部署的想法
然后发现其有很多坑,首先我是直接那作者的docker-compose.yml然后改了一下映射目录就用了,顺便删除了映射卷,不知道作者怎么想的
然后直接粘贴回车,然后容器直接退出了,我直接黑人问号,看了下log写着
Error: Cannot find module './database/index'
Require stack: - /app/nekonekostatus.js
好的应该是nodejs的玩意,不是很懂但是应该是那个js找不到了,然后找到github有个相同的issue,一个月前的但是作者好像也不关心他的项目,我直接一手fork检查了一下工作流,因为它使用了action来构建和上传镜像,然后AI分析中…,经过多次拉扯我让AI在工作流里增加了一堆项目反复确认容器运行,比如先重新修改了copy,然后copy后再次确认本地有该js,然后构建镜像,构建完成后再次打开镜像检查确认有没有那个js,然后再给我构建镜像我导入本地运行,然后发现依旧相同情况,我直接一手工作流增加一个试运行环节,去除重启看看他会不错误退出,然后发现依然运行成功,我黑人问号,然后我尝试直接运行不加其他项目,发现不挂载目录就正常运行,然后我进入容器cd加ls查了一下发现作者做的挂载目录database里就一个db文件有用,logs目录更是没有,到这里我也明白了是挂载问题,直接挂载db文件,logs就不挂载了,然后发现还是不行,不用想肯定是docker又直接映射宿主机的空白目录了,直接本地创建db空文件,至此终于完事了,然后我想看看被控怎么装,我还以为想nazha那样直接一行命令就完事了,结果就是没有,然后作者那里也是没说,我直接搜索网页名字还真让我找到了原作者,没想到原作者根本没映射目录,直接给了数据库路径(和我最后一样的操作),然后我去看被控端怎么弄,然后就是一堆
wget --version||yum install wget -y||apt-get install wget -y
/usr/bin/neko-status -v||(wget 被控下载地址 -O /usr/bin/neko-status && chmod +x /usr/bin/neko-status)
systemctl stop nekonekostatus
mkdir /etc/neko-status/
echo "key: 通讯秘钥
port: 通讯端口
debug: false" > /etc/neko-status/config.yaml
systemctl stop nekonekostatus
echo "[Unit]
Description=nekonekostatus
[Service]
Restart=always
RestartSec=5
ExecStart=/usr/bin/neko-status -c /etc/neko-status/config.yaml
[Install]
WantedBy=multi-user.target" > /etc/systemd/system/nekonekostatus.service
systemctl daemon-reload
systemctl start nekonekostatus
systemctl enable nekonekostatus
给我看迷糊了,遂放弃
以免说我水贴,贴一下docker run的命令
mkdir -p /root/dstatus/database
mkdir -p /root/dstatus/logs
touch /root/dstatus/database/db.db
docker run -d \
--name dstatus \
-p 5555:5555 \
-v /root/dstatus/database/db.db:/app/database/db.db \
-v /root/dstatus/logs:/app/logs \
-e TZ=Asia/Shanghai \
ghcr.io/fev125/dstatus:latest
恰如您骨骼精奇识得被控秘术可尝试打开原作者处下载并运行(顺便告诉我怎么弄),如看得上我的docker run命令亦可配合使用
贴一下面板的样子

