mirror of
https://github.com/NapNeko/NapCat-Docker.git
synced 2025-12-19 14:41:33 +08:00
移除通过传入环境变量来配置 NapCat 的方法
This commit is contained in:
parent
bc5ad29c53
commit
71ccc9aca0
109
README.md
109
README.md
@ -6,24 +6,15 @@
|
|||||||
- [x] Linux/Amd64
|
- [x] Linux/Amd64
|
||||||
- [x] Linux/Arm64
|
- [x] Linux/Arm64
|
||||||
|
|
||||||
## 配置
|
|
||||||
|
|
||||||
容器通过环境变量来配置,环境变量名称可以查看 [entrypoint](./entrypoint.sh)👈
|
|
||||||
|
|
||||||
具体参数可参考[官方文档](https://napneko.com/config/basic#%E9%85%8D%E7%BD%AE%E5%86%85%E5%AE%B9%E5%8F%82%E6%95%B0%E8%A7%A3%E9%87%8A)
|
|
||||||
|
|
||||||
# 启动容器
|
# 启动容器
|
||||||
|
|
||||||
## 正向 WS
|
|
||||||
|
|
||||||
### 命令行运行
|
### 命令行运行
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -d \
|
docker run -d \
|
||||||
-e ACCOUNT=<机器人qq> \
|
|
||||||
-e WS_ENABLE=true \
|
|
||||||
-e NAPCAT_GID=$(id -g) \
|
-e NAPCAT_GID=$(id -g) \
|
||||||
-e NAPCAT_UID=$(id -u) \
|
-e NAPCAT_UID=$(id -u) \
|
||||||
|
-p 3000:3000 \
|
||||||
-p 3001:3001 \
|
-p 3001:3001 \
|
||||||
-p 6099:6099 \
|
-p 6099:6099 \
|
||||||
--name napcat \
|
--name napcat \
|
||||||
@ -40,11 +31,10 @@ version: "3"
|
|||||||
services:
|
services:
|
||||||
napcat:
|
napcat:
|
||||||
environment:
|
environment:
|
||||||
- ACCOUNT=<机器人qq>
|
|
||||||
- WS_ENABLE=true
|
|
||||||
- NAPCAT_UID=${NAPCAT_UID}
|
- NAPCAT_UID=${NAPCAT_UID}
|
||||||
- NAPCAT_GID=${NAPCAT_GID}
|
- NAPCAT_GID=${NAPCAT_GID}
|
||||||
ports:
|
ports:
|
||||||
|
- 3000:3000
|
||||||
- 3001:3001
|
- 3001:3001
|
||||||
- 6099:6099
|
- 6099:6099
|
||||||
container_name: napcat
|
container_name: napcat
|
||||||
@ -55,95 +45,6 @@ services:
|
|||||||
|
|
||||||
使用 `NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d` 运行到后台
|
使用 `NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d` 运行到后台
|
||||||
|
|
||||||
## 反向 WS
|
|
||||||
<details>
|
|
||||||
<summary>点我查看命令👈</summary>
|
|
||||||
|
|
||||||
### 命令行运行
|
|
||||||
|
|
||||||
```shell
|
|
||||||
docker run -d \
|
|
||||||
-e ACCOUNT=<机器人qq> \
|
|
||||||
-e WSR_ENABLE=true \
|
|
||||||
-e WS_URLS='["ws://192.168.3.8:5140/onebot"]' \
|
|
||||||
-e NAPCAT_GID=$(id -g) \
|
|
||||||
-e NAPCAT_UID=$(id -u) \
|
|
||||||
--name napcat \
|
|
||||||
--restart=always \
|
|
||||||
mlikiowa/napcat-docker:latest
|
|
||||||
```
|
|
||||||
### docker-compose 运行
|
|
||||||
|
|
||||||
按照 [正向 WS](#docker-compose-运行) 中的方式创建 `.env` 文件,然后创建 `docker-compose.yml` 文件
|
|
||||||
```yaml
|
|
||||||
# docker-compose.yml
|
|
||||||
version: "3"
|
|
||||||
services:
|
|
||||||
napcat:
|
|
||||||
environment:
|
|
||||||
- ACCOUNT=<机器人qq>
|
|
||||||
- WSR_ENABLE=true
|
|
||||||
- WS_URLS=["ws://192.168.3.8:5140/onebot"]
|
|
||||||
- NAPCAT_UID=${NAPCAT_UID}
|
|
||||||
- NAPCAT_GID=${NAPCAT_GID}
|
|
||||||
container_name: napcat
|
|
||||||
network_mode: bridge
|
|
||||||
ports:
|
|
||||||
- 6099:6099
|
|
||||||
restart: always
|
|
||||||
image: mlikiowa/napcat-docker:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
使用 `NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d` 运行到后台
|
|
||||||
</details>
|
|
||||||
|
|
||||||
## HTTP
|
|
||||||
<details>
|
|
||||||
<summary>点我查看命令👈</summary>
|
|
||||||
|
|
||||||
### 命令行运行
|
|
||||||
|
|
||||||
```shell
|
|
||||||
docker run -d \
|
|
||||||
-e ACCOUNT=<机器人qq> \
|
|
||||||
-e HTTP_ENABLE=true \
|
|
||||||
-e HTTP_POST_ENABLE=true \
|
|
||||||
-e HTTP_URLS='["http://192.168.3.8:5140/onebot"]' \
|
|
||||||
-e NAPCAT_GID=$(id -g) \
|
|
||||||
-e NAPCAT_UID=$(id -u) \
|
|
||||||
-p 3000:3000 \
|
|
||||||
-p 6099:6099 \
|
|
||||||
--name napcat \
|
|
||||||
--restart=always \
|
|
||||||
mlikiowa/napcat-docker:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
### docker-compose 运行
|
|
||||||
|
|
||||||
按照 [正向 WS](#docker-compose-运行) 中的方式创建 `.env` 文件,然后创建 `docker-compose.yml` 文件
|
|
||||||
```yaml
|
|
||||||
# docker-compose.yml
|
|
||||||
version: "3"
|
|
||||||
services:
|
|
||||||
napcat:
|
|
||||||
environment:
|
|
||||||
- ACCOUNT=<机器人qq>
|
|
||||||
- HTTP_ENABLE=true
|
|
||||||
- HTTP_POST_ENABLE=true
|
|
||||||
- HTTP_URLS=["http://192.168.3.8:5140/onebot"]
|
|
||||||
- NAPCAT_UID=${NAPCAT_UID}
|
|
||||||
- NAPCAT_GID=${NAPCAT_GID}
|
|
||||||
ports:
|
|
||||||
- 3000:3000
|
|
||||||
- 6099:6099
|
|
||||||
container_name: napcat
|
|
||||||
network_mode: bridge
|
|
||||||
restart: always
|
|
||||||
image: mlikiowa/napcat-docker:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
使用 `NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d` 运行到后台
|
|
||||||
</details>
|
|
||||||
|
|
||||||
# 固化路径,方便下次直接快速登录
|
# 固化路径,方便下次直接快速登录
|
||||||
|
|
||||||
@ -151,13 +52,9 @@ QQ 持久化数据路径:/app/.config/QQ
|
|||||||
|
|
||||||
NapCat 配置文件路径: /app/napcat/config
|
NapCat 配置文件路径: /app/napcat/config
|
||||||
|
|
||||||
注意:如果是重新创建的容器,需要固定 Mac 地址
|
|
||||||
|
|
||||||
# 登录
|
# 登录
|
||||||
|
|
||||||
```shell
|
登录 WebUI 地址:http://<宿主机ip>:6099/webui
|
||||||
docker logs napcat
|
|
||||||
```
|
|
||||||
|
|
||||||
# Tips
|
# Tips
|
||||||
关于 NAPCAT_UID 与 NAPCAT_GID 环境变量
|
关于 NAPCAT_UID 与 NAPCAT_GID 环境变量
|
||||||
|
|||||||
@ -1,17 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
chech_quotes(){
|
|
||||||
local input="$1"
|
|
||||||
if [ "${input:0:1}" != '"' ] ; then
|
|
||||||
if [ "${input:0:1}" != '[' ] ; then
|
|
||||||
input="[\"$input\"]"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
input="[$input]"
|
|
||||||
fi
|
|
||||||
echo $input
|
|
||||||
}
|
|
||||||
|
|
||||||
# 安装 napcat
|
# 安装 napcat
|
||||||
if [ ! -f "napcat/napcat.mjs" ]; then
|
if [ ! -f "napcat/napcat.mjs" ]; then
|
||||||
unzip -q NapCat.Shell.zip -d ./NapCat.Shell
|
unzip -q NapCat.Shell.zip -d ./NapCat.Shell
|
||||||
@ -24,73 +12,26 @@ if [ ! -f "napcat/config/napcat.json" ]; then
|
|||||||
rm -rf ./NapCat.Shell
|
rm -rf ./NapCat.Shell
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CONFIG_PATH=napcat/config/onebot11_$ACCOUNT.json
|
# 配置 WebUI Token
|
||||||
# 容器首次启动时执行
|
CONFIG_PATH=/app/napcat/config/webui.json
|
||||||
if [ ! -f "$CONFIG_PATH" ]; then
|
if [ ! -f "${CONFIG_PATH}" ] && [ -n "${WEBUI_TOKEN}" ]; then
|
||||||
if [ "$WEBUI_TOKEN" ]; then
|
echo "正在配置 WebUI Token..."
|
||||||
echo "{\"port\": 6099,\"token\": \"$WEBUI_TOKEN\",\"loginRate\": 3}" > napcat/config/webui.json
|
cat > "${CONFIG_PATH}" << EOF
|
||||||
fi
|
|
||||||
: ${WEBUI_TOKEN:=''}
|
|
||||||
: ${HTTP_PORT:=3000}
|
|
||||||
: ${HTTP_URLS:='[]'}
|
|
||||||
: ${WS_PORT:=3001}
|
|
||||||
: ${HTTP_ENABLE:='false'}
|
|
||||||
: ${HTTP_POST_ENABLE:='false'}
|
|
||||||
: ${WS_ENABLE:='false'}
|
|
||||||
: ${WSR_ENABLE:='false'}
|
|
||||||
: ${WS_URLS:='[]'}
|
|
||||||
: ${HEART_INTERVAL:=60000}
|
|
||||||
: ${TOKEN:=''}
|
|
||||||
: ${F2U_ENABLE:='false'}
|
|
||||||
: ${DEBUG_ENABLE:='false'}
|
|
||||||
: ${LOG_ENABLE:='false'}
|
|
||||||
: ${RSM_ENABLE:='false'}
|
|
||||||
: ${MESSAGE_POST_FORMAT:='array'}
|
|
||||||
: ${HTTP_HOST:=''}
|
|
||||||
: ${WS_HOST:=''}
|
|
||||||
: ${HTTP_HEART_ENABLE:='false'}
|
|
||||||
: ${MUSIC_SIGN_URL:=''}
|
|
||||||
: ${HTTP_SECRET:=''}
|
|
||||||
: ${NAPCAT_GID:=0}
|
|
||||||
: ${NAPCAT_UID:=0}
|
|
||||||
HTTP_URLS=$(chech_quotes $HTTP_URLS)
|
|
||||||
WS_URLS=$(chech_quotes $WS_URLS)
|
|
||||||
cat <<EOF > $CONFIG_PATH
|
|
||||||
{
|
{
|
||||||
"http": {
|
"host": "0.0.0.0",
|
||||||
"enable": ${HTTP_ENABLE},
|
"prefix": "",
|
||||||
"host": "$HTTP_HOST",
|
"port": 6099,
|
||||||
"port": ${HTTP_PORT},
|
"token": "${WEBUI_TOKEN}",
|
||||||
"secret": "$HTTP_SECRET",
|
"loginRate": 3
|
||||||
"enableHeart": ${HTTP_HEART_ENABLE},
|
|
||||||
"enablePost": ${HTTP_POST_ENABLE},
|
|
||||||
"postUrls": $HTTP_URLS
|
|
||||||
},
|
|
||||||
"ws": {
|
|
||||||
"enable": ${WS_ENABLE},
|
|
||||||
"host": "${WS_HOST}",
|
|
||||||
"port": ${WS_PORT}
|
|
||||||
},
|
|
||||||
"reverseWs": {
|
|
||||||
"enable": ${WSR_ENABLE},
|
|
||||||
"urls": $WS_URLS
|
|
||||||
},
|
|
||||||
"GroupLocalTime":{
|
|
||||||
"Record": false,
|
|
||||||
"RecordList": []
|
|
||||||
},
|
|
||||||
"debug": ${DEBUG_ENABLE},
|
|
||||||
"heartInterval": ${HEART_INTERVAL},
|
|
||||||
"messagePostFormat": "$MESSAGE_POST_FORMAT",
|
|
||||||
"enableLocalFile2Url": ${F2U_ENABLE},
|
|
||||||
"musicSignUrl": "$MUSIC_SIGN_URL",
|
|
||||||
"reportSelfMessage": ${RSM_ENABLE},
|
|
||||||
"token": "$TOKEN"
|
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
rm -rf "/tmp/.X1-lock"
|
rm -rf "/tmp/.X1-lock"
|
||||||
|
|
||||||
|
: ${NAPCAT_GID:=0}
|
||||||
|
: ${NAPCAT_UID:=0}
|
||||||
usermod -o -u ${NAPCAT_UID} napcat
|
usermod -o -u ${NAPCAT_UID} napcat
|
||||||
groupmod -o -g ${NAPCAT_GID} napcat
|
groupmod -o -g ${NAPCAT_GID} napcat
|
||||||
usermod -g ${NAPCAT_GID} napcat
|
usermod -g ${NAPCAT_GID} napcat
|
||||||
@ -102,4 +43,5 @@ sleep 2
|
|||||||
export FFMPEG_PATH=/usr/bin/ffmpeg
|
export FFMPEG_PATH=/usr/bin/ffmpeg
|
||||||
export DISPLAY=:1
|
export DISPLAY=:1
|
||||||
cd /app/napcat
|
cd /app/napcat
|
||||||
|
ACCOUNT=$(ls /app/napcat/config/ | grep -oE '[1-9][0-9]{4,12}' | head -n 1)
|
||||||
gosu napcat /opt/QQ/qq --no-sandbox -q $ACCOUNT
|
gosu napcat /opt/QQ/qq --no-sandbox -q $ACCOUNT
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user