chore: reduce the use of sed

This commit is contained in:
initialencounter 2024-05-12 18:31:37 +08:00
parent d3c3ba93a6
commit 71def093cb
4 changed files with 50 additions and 149 deletions

View File

@ -3,7 +3,7 @@ FROM mlikiowa/napcat-docker:base
WORKDIR /usr/src/app
COPY NapCat.linux.arm64.zip NapCat.linux.x64.zip .
COPY config.txt entrypoint.sh ./
COPY entrypoint.sh ./
# 安装Linux QQ
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \

View File

@ -52,7 +52,7 @@ services:
docker run -d \
-e ACCOUNT=<机器人qq> \
-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 \
--restart=always \
mlikiowa/napcat-docker:latest
@ -66,7 +66,7 @@ services:
environment:
- ACCOUNT=<机器人qq>
- WSR_ENABLE=true
- WS_URLS=ws://192.168.3.8:5140/onebot
- WS_URLS=["ws://192.168.3.8:5140/onebot"]
container_name: napcat
network_mode: bridge
ports:
@ -85,7 +85,7 @@ 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 HTTP_URLS='["http://192.168.3.8:5140/onebot"]' \
-p 3000:3000 \
-p 6099:6099 \
--name napcat \
@ -102,7 +102,7 @@ services:
- ACCOUNT=<机器人qq>
- HTTP_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:
- 3000:3000
- 6099:6099

View File

@ -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"
}

View File

@ -2,132 +2,54 @@
CONFIG_PATH=napcat/config/onebot11_$ACCOUNT.json
# 容器首次启动时执行
if [ ! -f "$CONFIG_PATH" ]; then
cp -f config.txt $CONFIG_PATH
if [ ! -f "a$CONFIG_PATH" ]; then
if [ "$WEBUI_TOKEN" ]; then
echo "{\"port\": 6099,\"token\": \"$WEBUI_TOKEN\",\"loginRate\": 3}" > napcat/config/webui.json
fi
if [ "$HTTP_PORT" ]; then
sed -i "s/HTTP_PORT/$HTTP_PORT/" $CONFIG_PATH
else
sed -i "s/HTTP_PORT/3000/" $CONFIG_PATH
fi
if [ "$HTTP_URLS" ]; then
sed -i "s|HTTP_URLS|$HTTP_URLS|" $CONFIG_PATH
else
sed -i "s/\"HTTP_URLS\"/\"\"/" $CONFIG_PATH
fi
if [ "$WS_PORT" ]; then
sed -i "s/WS_PORT/$WS_PORT/" $CONFIG_PATH
else
sed -i "s/WS_PORT/3001/" $CONFIG_PATH
fi
if [ "$HTTP_ENABLE" ]; then
sed -i "s/HTTP_ENABLE/$HTTP_ENABLE/" $CONFIG_PATH
else
sed -i "s/HTTP_ENABLE/false/" $CONFIG_PATH
fi
if [ "$HTTP_POST_ENABLE" ]; then
sed -i "s/HTTP_POST_ENABLE/$HTTP_POST_ENABLE/" $CONFIG_PATH
else
sed -i "s/HTTP_POST_ENABLE/false/" $CONFIG_PATH
fi
if [ "$WS_ENABLE" ]; then
sed -i "s/WS_ENABLE/$WS_ENABLE/" $CONFIG_PATH
else
sed -i "s/WS_ENABLE/false/" $CONFIG_PATH
fi
if [ "$WSR_ENABLE" ]; then
sed -i "s/WSR_ENABLE/$WSR_ENABLE/" $CONFIG_PATH
else
sed -i "s/WSR_ENABLE/false/" $CONFIG_PATH
fi
if [ "$WS_URLS" ]; then
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
: ${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:=''}
cat <<EOF > $CONFIG_PATH
{
"httpHost": "$HTTP_HOST",
"enableHttp": ${HTTP_ENABLE},
"httpPort": ${HTTP_PORT},
"wsHost": "${WS_HOST}",
"enableWs": ${WS_ENABLE},
"wsPort": ${WS_PORT},
"enableWsReverse": ${WSR_ENABLE},
"wsReverseUrls": $WS_URLS,
"enableHttpPost": ${HTTP_POST_ENABLE},
"httpPostUrls": $HTTP_URLS,
"enableHttpHeart": ${HTTP_HEART_ENABLE},
"httpSecret": "$HTTP_SECRET",
"messagePostFormat": "$MESSAGE_POST_FORMAT",
"reportSelfMessage": ${RSM_ENABLE},
"debug": ${DEBUG_ENABLE},
"enableLocalFile2Url": ${F2U_ENABLE},
"heartInterval": ${HEART_INTERVAL},
"token": "$TOKEN",
"musicSignUrl": "$MUSIC_SIGN_URL"
}
EOF
fi
export FFMPEG_PATH=/usr/bin/ffmpeg