这是 Overflow 的 Docker 部署配置,提供了一个开箱即用的 Mirai Console + Overflow 容器化部署方案。
# 创建并进入项目目录
mkdir overflow && cd overflow
# 下载配置文件
curl -O https://raw.githubusercontent.com/sdjnmxd/overflow-docker/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/sdjnmxd/overflow-docker/main/env.example
# 复制环境变量示例文件
cp env.example .env
# 编辑 .env 文件,填入你的配置
vim .env # 或使用其他编辑器
docker compose up -d
服务启动后,你可以:
docker compose logs -fdocker compose downdocker compose restartdocker compose pull && docker compose up -d服务会自动创建以下目录:
bots:机器人账号数据(挂载到容器的 /app/overflow/bots)config:配置文件(挂载到容器的 /app/overflow/config)data:数据文件(挂载到容器的 /app/overflow/data)logs:日志文件(挂载到容器的 /app/overflow/logs)生成后的 overflow.json 与 上游 Overflow 配置说明 一致,使用 connections 数组。
OVERFLOW_CONNECTIONS_JSON 传入完整 JSON 数组(语法与文档中 connections 条目相同)。OVERFLOW_CONNECTIONS_JSON 时,用下表变量渲染一条连接。| 环境变量 | 说明 |
|---|---|
| OVERFLOW_CONNECTIONS_JSON | 非空时,整段作为 connections 的值原样写入(须为合法 JSON 数组)。此时忽略下方单条连接变量。 |
示例(两个正向 WS,注意在 docker-compose.yml 或 .env 中妥善加引号):
[{"enable":true,"type":"websocket","host":"ws://127.0.0.1:3001","token":"StarBot"},{"enable":true,"type":"websocket","host":"ws://10.0.0.2:6700","token":"another"}]
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| OVERFLOW_CONNECTION_TYPE | websocket 或 websocket-reverse | websocket |
| OVERFLOW_CONNECTION_HOST | 正向 WS:Onebot 的 ws:// 地址(仅 websocket) | ws://127.0.0.1:3001 |
| OVERFLOW_CONNECTION_PORT | 反向 WS:本机监听端口(仅 websocket-reverse) | 3002 |
| OVERFLOW_CONNECTION_TOKEN | 该条连接的 token | StarBot |
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| TZ | 时区 | Asia/Shanghai |
| JAVA_OPTS | Java 虚拟机参数 | -Xms512M -Xmx1G |
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| OVERFLOW_NO_LOG | 关闭日志(开启时不接受漏洞反馈) | false |
| OVERFLOW_NO_PLATFORM | 是否禁用平台信息 | false |
| OVERFLOW_USE_CQ_CODE | 是否使用 CQ 码 | false |
| OVERFLOW_RETRY_TIMES | 重试次数 | 5 |
| OVERFLOW_RETRY_WAIT_MILLS | 重试等待时间(毫秒) | 5000 |
| OVERFLOW_RETRY_REST_MILLS | 重试休息时间(毫秒) | 60000 |
| OVERFLOW_HEARTBEAT_CHECK_SECONDS | 心跳检查间隔(秒) | 60 |
| OVERFLOW_USE_GROUP_UPLOAD_EVENT | 是否使用群文件上传事件 | false |
| OVERFLOW_RESOURCE_CACHE_ENABLED | 是否启用资源缓存 | false |
| OVERFLOW_RESOURCE_CACHE_DURATION | 资源缓存保留时间(小时) | 168 |
| OVERFLOW_DROP_EVENTS_BEFORE_CONNECTED | 是否丢弃连接前的事件 | true |
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| MIRAI_ENABLE_VERIFY | 是否启用验证 | true |
| MIRAI_VERIFY_KEY | 验证密钥 | StarBot |
| MIRAI_HTTP_HOST | HTTP 服务监听地址 | 0.0.0.0 |
| MIRAI_HTTP_PORT | HTTP 服务端口 | 7827 |
| MIRAI_HTTP_CORS | CORS 配置 | * |
| MIRAI_WS_HOST | WebSocket 服务监听地址 | 0.0.0.0 |
| MIRAI_WS_PORT | WebSocket 服务端口 | 7827 |
| MIRAI_HTTP_DEBUG | 是否启用调试模式 | false |
| MIRAI_SINGLE_MODE | 是否启用单例模式 | false |
| MIRAI_WS_SYNC_ID | WebSocket 同步 ID | -1 |
如果需要本地构建镜像:
# 使用默认版本构建
docker build -t overflow .
# 指定版本构建
docker build -t overflow \
--build-arg MAVEN_REPO=https://mirrors.huaweicloud.com/repository/maven \
--build-arg OVERFLOW_VERSION=1.0.5 \
--build-arg BOUNCYCASTLE_VERSION=1.64 .
OVERFLOW_VERSION、MAVEN_REPO、BOUNCYCASTLE_VERSION 可通过 --build-arg 覆盖。Mirai Console 在 Dockerfile 中固定为 2.16.0(上游已长期无新版本)。mirai-api-http 插件固定为 v2.10.0(上游已长期无新版本)。
镜像版本说明:
latest: 最新版本,每日自动构建x.y.z-mirai.a.b.c: 特定版本号,对应 Overflow 和 Mirai Console 的发布版本当前集成的组件版本:
镜像通过 GitHub Actions 自动构建并推送至 Docker Hub:
如果您在使用过程中遇到任何问题或有改进建议,欢迎通过以下方式反馈:
提交问题时,请尽可能提供:
本项目采用 MIT License 开源,详细信息请参阅 LICENSE 文件。
Overflow Docker 是一个独立项目,仅提供容器化部署方案。上游项目使用以下许可证:
Content type
Image
Digest
sha256:96d413bc0…
Size
229.7 MB
Last updated
6 months ago
docker pull sdjnmxd/overflow