Coder Social home page Coder Social logo

rxrw / mirai-docker-starter Goto Github PK

View Code? Open in Web Editor NEW
44.0 2.0 14.0 19.06 MB

使用Docker直接启动Mirai

License: GNU Affero General Public License v3.0

Dockerfile 1.04% Shell 0.30% JavaScript 98.40% Batchfile 0.26%
mirai docker http docker-compose qqbot

mirai-docker-starter's Introduction

由于我的QQ不停地被封禁,因此无法支持此项目继续开发,欢迎大家使用Fork后的项目 😭

logo
title

Gitter Actions Status

Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持的高效率机器人框架

这个项目的名字来源于

京都动画作品《境界的彼方》栗山未来(Kuriyama Mirai)

CRYPTON初音未来为代表的创作与活动(Magical Mirai)

图标以及形象由画师DazeCake绘制

mirai-http-docker

Mirai HTTP Docker 一键启动环境

Mirai-API-http 插件 提供 HTTP API 供所有语言使用 mirai

这个项目旨在对想直接用Mirai-API-http进行开发的同学们直接启动 Mirai + HTTP 服务

玩法

一键启动:

# 生成配置文件
docker run --rm -it -v ./config:/app/config reprover/mirai-http:latest

#(如果需要其它插件,可以映射目录进去)
docker run --rm -it -v ./config:/app/config -v ./plugins:/app/plugins reprover/mirai-http:latest


#按自己需要修改配置然后运行
docker run -d -p 8080:8080 -v ./config:/app/config [-v ./plugins:/app/plugins] reprover/mirai-http:latest

容器默认开 8080 端口,与 Mirai-HTTP-API 默认配置一致,有需要可以自己映射

建议使用 docker-compose 一键启动:

#第一次生成配置文件
docker-compose up

#修改配置文件
docker-compose up -d

当前版本

插件 版本 源代码
mirai-console-loader 2.0.0 https://github.com/iTXTech/mirai-console-loader
mirai-http-api 2.5.0 https://github.com/project-mirai/mirai-api-http
mirai-core-all 2.10.1 https://github.com/project-mirai/mirai-repo-mirror

限制

docker

docker 是容器服务,因此端口开放但网络出口是 docker 的 bridge 环境。

建议编写好的项目直接使用 docker-compose 同网络调用

也可将 network 的 mode 设置为 host 使用主机网卡。

console

console 启动的时候会检查更新,目前已经把最新版 stable-2.7.0 内置了,有需要可以调整config.json

cli

由于是 docker 脚本,因此直接启动是启动的 console 无交互界面,如需进交互,可以

docker-compose exec mirai

不知道是什么原因,在非交互界面时使用 docker run 运行起来的进程关不掉,可以用 docker kill ,也可以在运行的时候使用 docker run -it 进入交互式界面。在 docker-compose 下是正常的。

本镜像版本与 mirai-console-loader + mirai-http-api 版本保持同步

说明

项目中的 mcl 是来自官方 mirai-console-loadergithub release, plugins 目录下的 mirai-http-api 来自 github release

大家可以随意添加自己需要的插件进去。 ~

mirai-docker-starter's People

Contributors

rxrw avatar skyer520 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

Watchers

 avatar  avatar

mirai-docker-starter's Issues

Docker部署成功后telnet连接闪退,websocket无法连接

过程:
docker run -d --name mirai -p 8081:8080 -v /volume1/docker/mirai/config:/app/config -v /volume1/docker/mirai/plugins:/app/plugins reprover/mirai-http:latest
放到8081跑了,然后把autologin配置好,Plugins里面放了mirai-api-http-v2.2.0.mirai.jar
然后启动的时候都提示插件加载了,同时聊天消息也正常了
1
但是ws连接测试失败,使用的连接:ws://localhost:8081/message?verifyKey=INITKEYTZVLEdkX&qq=1743797837
2

默认启动时,加载的软件包不兼容

未做自定义配置时,加载的mirai-api-http为v1.11.0,该版本过旧,与自动加载的其他模块不兼容,会报错java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration(int, java.util.concurrent.TimeUnit)'

我自己尝试手动替换成1.12或者2.x就可以正常运行了,如果大佬有时间希望可以把DockerHub的镜像也修复一下,多谢!

启动时报错

命令
docker run --rm -it -v ~/config:/app/config reprover/mirai-http:latest

信息
2021-11-08 16:14:02 E/Mirai HTTP API: java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration(int, java.util.concurrent.TimeUnit)' java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration(int, java.util.concurrent.TimeUnit)' at net.mamoe.mirai.api.http.route.BaseRouteKt$mirai$2.invoke(BaseRoute.kt:48) at net.mamoe.mirai.api.http.route.BaseRouteKt$mirai$2.invoke(BaseRoute.kt) at io.ktor.features.CORS$Feature.install(CORS.kt:517) at io.ktor.features.CORS$Feature.install(CORS.kt:509) at io.ktor.application.ApplicationFeatureKt.install(ApplicationFeature.kt:68) at net.mamoe.mirai.api.http.route.BaseRouteKt.mirai(BaseRoute.kt:45) at net.mamoe.mirai.api.http.MiraiHttpAPIServer$start$2$1$1.invoke(MiraiHttpAPIServer.kt:93) at net.mamoe.mirai.api.http.MiraiHttpAPIServer$start$2$1$1.invoke(MiraiHttpAPIServer.kt:29) at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.instantiateAndConfigureApplication(ApplicationEngineEnvironmentReloading.kt:303) at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.createApplication(ApplicationEngineEnvironmentReloading.kt:138) at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.start(ApplicationEngineEnvironmentReloading.kt:270) at io.ktor.server.cio.CIOApplicationEngine$serverJob$1$1.invokeSuspend(CIOApplicationEngine.kt:53) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

mcl执行不正常

执行mcl会自动检查更新下载更新,然后就返回0之后退出,原因不明。检查了一下目前用的mcl版本很旧,换成新版本之后可以正常运行。

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.