Giter Site home page Giter Site logo

chronocat-docker's Introduction

chronocat-docker

本仓库是学习docker的打包与自动化构建,请下载后24小时内删除

使用

快速运行

docker run -d --name chronocat-docker -e VNC_PASSWD=vncpasswd -p 5500:5500 -p 5900:5900 -p 6081:6081 -p 16530:16530 -v ${PWD}/config:/root/.chronocat/config yuukinya/chronocat-docker

其中vncpasswd换成你的VNC密码

或者下载代码中的docker-compose.yml,然后执行

docker-compose up -d

数据固化(可选)

先完成上面的快速运行,保证容器在运行状态

# 进入项目目录
mkdir data
# 复制数据到data目录
docker cp chronocat-docker:/root/.config/QQ ./data

如果之前是docker run运行的,执行

docker run -d --name chronocat-docker -e VNC_PASSWD=vncpasswd -p 5500:5500 -p 5900:5900 -p 6081:6081 -p 16530:16530 -v ${PWD}/config:/root/.chronocat/config -v ${PWD}/data/QQ:/root/.config/QQ yuukinya/chronocat-docker

如果之前是docker-compose运行的,编辑docker-compose.yml,把volumes下两行的开头注释去掉,保存,再执行

docker-compose up -d

noVNC登陆

浏览器访问http://服务器IP:6081,默认密码是vncpasswd

VNC登陆

使用VNC软件登陆服务器IP:5900,默认密码是vncpasswd

修改chronocat配置

修改当前目录/config/chronocat.yml,修改后重启容器即可

修改VNC密码

docker exec chronocat-docker sh -c "x11vnc -storepasswd newpasswd /root/.vnc/passwd"

其中newpasswd换成你的新密码,立即生效,无需重启容器

如何更新

本镜像一般不会只更新chronocat,如果需要只更新chronocat可以使用LiteLoaderQQNT自行更新

  1. 更新前请做好数据备份,比如数据固化

  2. 删除容器并删除镜像,下面是代码示例

    docker rm -f chronocat-docker && docker rmi yuukinya/chronocat-docker
  3. 重新pull最近镜像

    docker pull yuukinya/chronocat-docker
  4. 按照前面的使用教程操作

已知问题

  • 容器重启后,桌面的任务栏可能会消失,如果触发了请不要缩小或者点叉关闭,建议保持在聊天的界面,再关闭VNC远程
  • 合并转发不可用在Linux版本

TODO

  • 能固化已登陆的数据
  • 使用docker的environment来指定VNC密码

更新日志

2023-10-19

  • 更新chronocat至0.0.54

2023-10-17

  • 更新chronocat至0.0.53

2023-10-13

  • 更新chronocat至0.0.52
  • 新增satori默认端口

2023-10-3

  • 更新chronocat至0.0.48
  • 使用docker的environment来指定VNC密码 Issue #2
  • 新增noVNC,使用浏览器来登陆VNC Issue #2

感谢 ZGLinus提供的思路和代码

2023-9-25

  • 更新chronocat至0.0.46
  • 修改chronocat配置映射至宿主机
  • 固化已登陆数据 Issue #1

2023-9-22

  • 初始版本

chronocat-docker's People

Contributors

yuuki-nya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

chronocat-docker's Issues

Failed to load cmnative-linux-x64.node

Failed to inject hooks Error: Failed to load cmnative-linux-x64.node
at /root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:1:130286
at Object.readFileAsync (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:1:35488)
at V (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:1:130256)
at new Promise ()
at xe (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:1:130142)
at dl (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:255:1468)
at K0 (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:255:20898)
at $0 (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:255:21188)
at Object. (/root/LiteLoaderQQNT/plugins/LiteLoaderQQNT-Plugin-Chronocat/src/main.js:255:23130)
at Module._compile (node:internal/modules/cjs/loader:1120:14)

关于保存QQ数据

可以通过-v把QQ数据映射出来?目前不清楚QQ数据有哪些,作者可以试试

可以用环境变量设置vnc的密码

docker-cli 或者 docker-compose 的环境变量会覆盖 Dockerfile 里面的同名环境变量,所以可以把命令 x11vnc -storepasswd $VNC_PASSWD ~/.vnc/passwd 放进启动脚本,这样用户就可以完成用环境变量设置vnc密码了。

另外,可以用 noVNC 把远程桌面放进浏览器里面,只需要克隆两个仓库, noVNCwebsockify,再加一行命令就可以了。

最后,有一个简单思路但是做法复杂的固化数据的方法,就是把会更新的文件放在 host 而不是 container 里面,具体可以查看我的 fork

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.