mirror of
https://github.com/NapNeko/NapCat-Docker.git
synced 2025-12-22 00:20:06 +08:00
chore: reduce the use of sed
This commit is contained in:
parent
d3c3ba93a6
commit
71def093cb
@ -3,7 +3,7 @@ FROM mlikiowa/napcat-docker:base
|
|||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
COPY NapCat.linux.arm64.zip NapCat.linux.x64.zip .
|
COPY NapCat.linux.arm64.zip NapCat.linux.x64.zip .
|
||||||
COPY config.txt entrypoint.sh ./
|
COPY entrypoint.sh ./
|
||||||
|
|
||||||
# 安装Linux QQ
|
# 安装Linux QQ
|
||||||
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
|
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
|
||||||
|
|||||||
@ -52,7 +52,7 @@ services:
|
|||||||
docker run -d \
|
docker run -d \
|
||||||
-e ACCOUNT=<机器人qq> \
|
-e ACCOUNT=<机器人qq> \
|
||||||
-e WSR_ENABLE=true \
|
-e WSR_ENABLE=true \
|
||||||
-e WS_URLS="ws://192.168.3.8:5140/onebot" \
|
-e WS_URLS='["ws://192.168.3.8:5140/onebot"]' \
|
||||||
--name napcat \
|
--name napcat \
|
||||||
--restart=always \
|
--restart=always \
|
||||||
mlikiowa/napcat-docker:latest
|
mlikiowa/napcat-docker:latest
|
||||||
@ -66,7 +66,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- ACCOUNT=<机器人qq>
|
- ACCOUNT=<机器人qq>
|
||||||
- WSR_ENABLE=true
|
- WSR_ENABLE=true
|
||||||
- WS_URLS=ws://192.168.3.8:5140/onebot
|
- WS_URLS=["ws://192.168.3.8:5140/onebot"]
|
||||||
container_name: napcat
|
container_name: napcat
|
||||||
network_mode: bridge
|
network_mode: bridge
|
||||||
ports:
|
ports:
|
||||||
@ -85,7 +85,7 @@ docker run -d \
|
|||||||
-e ACCOUNT=<机器人qq> \
|
-e ACCOUNT=<机器人qq> \
|
||||||
-e HTTP_ENABLE=true \
|
-e HTTP_ENABLE=true \
|
||||||
-e HTTP_POST_ENABLE=true \
|
-e HTTP_POST_ENABLE=true \
|
||||||
-e HTTP_URLS="http://192.168.3.8:5140/onebot" \
|
-e HTTP_URLS='["http://192.168.3.8:5140/onebot"]' \
|
||||||
-p 3000:3000 \
|
-p 3000:3000 \
|
||||||
-p 6099:6099 \
|
-p 6099:6099 \
|
||||||
--name napcat \
|
--name napcat \
|
||||||
@ -102,7 +102,7 @@ services:
|
|||||||
- ACCOUNT=<机器人qq>
|
- ACCOUNT=<机器人qq>
|
||||||
- HTTP_ENABLE=true
|
- HTTP_ENABLE=true
|
||||||
- HTTP_POST_ENABLE=true
|
- HTTP_POST_ENABLE=true
|
||||||
- HTTP_URLS=http://192.168.3.8:5140/onebot
|
- HTTP_URLS=["http://192.168.3.8:5140/onebot"]
|
||||||
ports:
|
ports:
|
||||||
- 3000:3000
|
- 3000:3000
|
||||||
- 6099:6099
|
- 6099:6099
|
||||||
|
|||||||
21
config.txt
21
config.txt
@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"httpPort": HTTP_PORT,
|
|
||||||
"httpHost": "HTTP_HOST",
|
|
||||||
"httpPostUrls": ["HTTP_URLS"],
|
|
||||||
"httpSecret": "HTTP_SECRET",
|
|
||||||
"wsPort": WS_PORT,
|
|
||||||
"wsHost": "WS_HOST",
|
|
||||||
"wsReverseUrls": ["WS_URLS"],
|
|
||||||
"enableHttp": HTTP_ENABLE,
|
|
||||||
"enableHttpPost": HTTP_POST_ENABLE,
|
|
||||||
"enableWs": WS_ENABLE,
|
|
||||||
"enableWsReverse": WSR_ENABLE,
|
|
||||||
"enableHttpHeart": HTTP_HEART_ENABLE,
|
|
||||||
"messagePostFormat": "MESSAGE_POST_FORMAT",
|
|
||||||
"reportSelfMessage": RSM_ENABLE,
|
|
||||||
"debug": DEBUG_ENABLE,
|
|
||||||
"enableLocalFile2Url": F2U_ENABLE,
|
|
||||||
"heartInterval": HEART_INTERVAL,
|
|
||||||
"musicSignUrl": "MUSIC_SIGN_URL",
|
|
||||||
"token": "TOKEN"
|
|
||||||
}
|
|
||||||
168
entrypoint.sh
168
entrypoint.sh
@ -2,132 +2,54 @@
|
|||||||
|
|
||||||
CONFIG_PATH=napcat/config/onebot11_$ACCOUNT.json
|
CONFIG_PATH=napcat/config/onebot11_$ACCOUNT.json
|
||||||
# 容器首次启动时执行
|
# 容器首次启动时执行
|
||||||
if [ ! -f "$CONFIG_PATH" ]; then
|
if [ ! -f "a$CONFIG_PATH" ]; then
|
||||||
cp -f config.txt $CONFIG_PATH
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$WEBUI_TOKEN" ]; then
|
if [ "$WEBUI_TOKEN" ]; then
|
||||||
echo "{\"port\": 6099,\"token\": \"$WEBUI_TOKEN\",\"loginRate\": 3}" > napcat/config/webui.json
|
echo "{\"port\": 6099,\"token\": \"$WEBUI_TOKEN\",\"loginRate\": 3}" > napcat/config/webui.json
|
||||||
fi
|
fi
|
||||||
|
: ${WEBUI_TOKEN:=''}
|
||||||
if [ "$HTTP_PORT" ]; then
|
: ${HTTP_PORT:=3000}
|
||||||
sed -i "s/HTTP_PORT/$HTTP_PORT/" $CONFIG_PATH
|
: ${HTTP_URLS:='[]'}
|
||||||
else
|
: ${WS_PORT:=3001}
|
||||||
sed -i "s/HTTP_PORT/3000/" $CONFIG_PATH
|
: ${HTTP_ENABLE:='false'}
|
||||||
fi
|
: ${HTTP_POST_ENABLE:='false'}
|
||||||
|
: ${WS_ENABLE:='false'}
|
||||||
if [ "$HTTP_URLS" ]; then
|
: ${WSR_ENABLE:='false'}
|
||||||
sed -i "s|HTTP_URLS|$HTTP_URLS|" $CONFIG_PATH
|
: ${WS_URLS:='[]'}
|
||||||
else
|
: ${HEART_INTERVAL:=60000}
|
||||||
sed -i "s/\"HTTP_URLS\"/\"\"/" $CONFIG_PATH
|
: ${TOKEN:=''}
|
||||||
fi
|
: ${F2U_ENABLE:='false'}
|
||||||
|
: ${DEBUG_ENABLE:='false'}
|
||||||
if [ "$WS_PORT" ]; then
|
: ${LOG_ENABLE:='false'}
|
||||||
sed -i "s/WS_PORT/$WS_PORT/" $CONFIG_PATH
|
: ${RSM_ENABLE:='false'}
|
||||||
else
|
: ${MESSAGE_POST_FORMAT:='array'}
|
||||||
sed -i "s/WS_PORT/3001/" $CONFIG_PATH
|
: ${HTTP_HOST:=''}
|
||||||
fi
|
: ${WS_HOST:=''}
|
||||||
|
: ${HTTP_HEART_ENABLE:='false'}
|
||||||
if [ "$HTTP_ENABLE" ]; then
|
: ${MUSIC_SIGN_URL:=''}
|
||||||
sed -i "s/HTTP_ENABLE/$HTTP_ENABLE/" $CONFIG_PATH
|
: ${HTTP_SECRET:=''}
|
||||||
else
|
cat <<EOF > $CONFIG_PATH
|
||||||
sed -i "s/HTTP_ENABLE/false/" $CONFIG_PATH
|
{
|
||||||
fi
|
"httpHost": "$HTTP_HOST",
|
||||||
|
"enableHttp": ${HTTP_ENABLE},
|
||||||
if [ "$HTTP_POST_ENABLE" ]; then
|
"httpPort": ${HTTP_PORT},
|
||||||
sed -i "s/HTTP_POST_ENABLE/$HTTP_POST_ENABLE/" $CONFIG_PATH
|
"wsHost": "${WS_HOST}",
|
||||||
else
|
"enableWs": ${WS_ENABLE},
|
||||||
sed -i "s/HTTP_POST_ENABLE/false/" $CONFIG_PATH
|
"wsPort": ${WS_PORT},
|
||||||
fi
|
"enableWsReverse": ${WSR_ENABLE},
|
||||||
|
"wsReverseUrls": $WS_URLS,
|
||||||
if [ "$WS_ENABLE" ]; then
|
"enableHttpPost": ${HTTP_POST_ENABLE},
|
||||||
sed -i "s/WS_ENABLE/$WS_ENABLE/" $CONFIG_PATH
|
"httpPostUrls": $HTTP_URLS,
|
||||||
else
|
"enableHttpHeart": ${HTTP_HEART_ENABLE},
|
||||||
sed -i "s/WS_ENABLE/false/" $CONFIG_PATH
|
"httpSecret": "$HTTP_SECRET",
|
||||||
fi
|
"messagePostFormat": "$MESSAGE_POST_FORMAT",
|
||||||
|
"reportSelfMessage": ${RSM_ENABLE},
|
||||||
if [ "$WSR_ENABLE" ]; then
|
"debug": ${DEBUG_ENABLE},
|
||||||
sed -i "s/WSR_ENABLE/$WSR_ENABLE/" $CONFIG_PATH
|
"enableLocalFile2Url": ${F2U_ENABLE},
|
||||||
else
|
"heartInterval": ${HEART_INTERVAL},
|
||||||
sed -i "s/WSR_ENABLE/false/" $CONFIG_PATH
|
"token": "$TOKEN",
|
||||||
fi
|
"musicSignUrl": "$MUSIC_SIGN_URL"
|
||||||
|
}
|
||||||
if [ "$WS_URLS" ]; then
|
EOF
|
||||||
sed -i "s#WS_URLS#$WS_URLS#" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/\"WS_URLS\"/\"\"/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$HEART_INTERVAL" ]; then
|
|
||||||
sed -i "s/HEART_INTERVAL/$HEART_INTERVAL/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/HEART_INTERVAL/60000/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$TOKEN" ]; then
|
|
||||||
sed -i "s|TOKEN|$TOKEN|" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/\"TOKEN\"/\"\"/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$F2U_ENABLE" ]; then
|
|
||||||
sed -i "s/F2U_ENABLE/$F2U_ENABLE/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/F2U_ENABLE/false/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$DEBUG_ENABLE" ]; then
|
|
||||||
sed -i "s/DEBUG_ENABLE/$DEBUG_ENABLE/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/DEBUG_ENABLE/false/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$LOG_ENABLE" ]; then
|
|
||||||
sed -i "s/LOG_ENABLE/$LOG_ENABLE/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/LOG_ENABLE/false/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$RSM_ENABLE" ]; then
|
|
||||||
sed -i "s/RSM_ENABLE/$RSM_ENABLE/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/RSM_ENABLE/false/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MESSAGE_POST_FORMAT" ]; then
|
|
||||||
sed -i "s/MESSAGE_POST_FORMAT/$MESSAGE_POST_FORMAT/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/MESSAGE_POST_FORMAT/array/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$HTTP_HOST" ]; then
|
|
||||||
sed -i "s/HTTP_HOST/$HTTP_HOST/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/HTTP_HOST//" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WS_HOST" ]; then
|
|
||||||
sed -i "s/WS_HOST/$WS_HOST/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/WS_HOST//" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$HTTP_HEART_ENABLE" ]; then
|
|
||||||
sed -i "s/HTTP_HEART_ENABLE/$HTTP_HEART_ENABLE/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/HTTP_HEART_ENABLE/false/" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MUSIC_SIGN_URL" ]; then
|
|
||||||
sed -i "s/MUSIC_SIGN_URL/$MUSIC_SIGN_URL/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/MUSIC_SIGN_URL//" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
if [ "$HTTP_SECRET" ]; then
|
|
||||||
sed -i "s/HTTP_SECRET/$HTTP_SECRET/" $CONFIG_PATH
|
|
||||||
else
|
|
||||||
sed -i "s/HTTP_SECRET//" $CONFIG_PATH
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export FFMPEG_PATH=/usr/bin/ffmpeg
|
export FFMPEG_PATH=/usr/bin/ffmpeg
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user