rollback gosu

Signed-off-by: initialencounter <2911583893@qq.com>
This commit is contained in:
initialencounter 2024-10-25 12:31:19 +08:00
parent 2b87ece862
commit f9d59547f6
No known key found for this signature in database
GPG Key ID: E29907C04179B4C6
4 changed files with 29 additions and 6 deletions

View File

@ -1,5 +1,7 @@
FROM mlikiowa/napcat-docker:base
RUN useradd --no-log-init -d /app napcat
WORKDIR /app
COPY NapCat.Shell.zip entrypoint.sh napcat.packet.production.py /app/

View File

@ -23,6 +23,8 @@
docker run -d \
-e ACCOUNT=<机器人qq> \
-e WS_ENABLE=true \
-e NAPCAT_GID=$(id -g) \
-e NAPCAT_UID=$(id -u) \
-p 3001:3001 \
-p 6099:6099 \
--name napcat \
@ -42,6 +44,8 @@ services:
environment:
- ACCOUNT=<机器人qq>
- WS_ENABLE=true
- NAPCAT_UID=${NAPCAT_UID}
- NAPCAT_GID=${NAPCAT_GID}
ports:
- 3001:3001
- 6099:6099
@ -52,7 +56,7 @@ services:
image: mlikiowa/napcat-docker:latest
```
使用 `docker-compose up -d` 运行到后台
使用 `NAPCAT_UID=$(id -u); NAPCAT_GID=$(id -g); docker-compose up -d` 运行到后台
## 反向 WS
<details>
@ -84,6 +88,8 @@ services:
- 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
privileged: true
@ -93,7 +99,7 @@ services:
image: mlikiowa/napcat-docker:latest
```
使用 `docker-compose up -d` 运行到后台
使用 `NAPCAT_UID=$(id -u); NAPCAT_GID=$(id -g); docker-compose up -d` 运行到后台
</details>
## HTTP
@ -108,6 +114,8 @@ docker run -d \
-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 \
@ -129,6 +137,8 @@ services:
- 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
@ -139,7 +149,7 @@ services:
image: mlikiowa/napcat-docker:latest
```
使用 `docker-compose up -d` 运行到后台
使用 `NAPCAT_UID=$(id -u); NAPCAT_GID=$(id -g); docker-compose up -d` 运行到后台
</details>
# 固化路径,方便下次直接快速登录
@ -155,3 +165,7 @@ NapCat 配置文件路径: /app/napcat/config
```shell
docker logs napcat
```
# Tips
关于 NAPCAT_UID 与 NAPCAT_GID 环境变量
[前往了解](https://containerization-automation.readthedocs.io/zh-cn/latest/docker/storage/[gosu]%E7%BB%91%E5%AE%9A%E6%8C%82%E8%BD%BD%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/)

View File

@ -26,6 +26,7 @@ RUN apt-get update && apt-get install -y \
dbus-user-session \
curl \
jq \
gosu \
python3-pip \
tzdata && \
echo "${TZ}" > /etc/timezone && \

View File

@ -51,6 +51,8 @@ if [ ! -f "$CONFIG_PATH" ]; then
: ${HTTP_HEART_ENABLE:='false'}
: ${MUSIC_SIGN_URL:=''}
: ${HTTP_SECRET:=''}
: ${NAPCAT_GID:=1001}
: ${NAPCAT_UID:=911}
HTTP_URLS=$(chech_quotes $HTTP_URLS)
WS_URLS=$(chech_quotes $WS_URLS)
cat <<EOF > $CONFIG_PATH
@ -91,8 +93,12 @@ EOF
fi
rm -rf "/tmp/.X1-lock"
chmod -R 777 /app
Xvfb :1 -screen 0 1080x760x16 +extension GLX +render > /dev/null 2>&1 &
usermod -o -u ${NAPCAT_UID} napcat
groupmod -o -g ${NAPCAT_GID} napcat
usermod -g ${NAPCAT_GID} napcat
chown -R ${NAPCAT_UID}:${NAPCAT_GID} /app
gosu napcat Xvfb :1 -screen 0 1080x760x16 +extension GLX +render > /dev/null 2>&1 &
sleep 2
# 方便调试, 或许应该重定向到/dev/null?
python3 napcat.packet.production.py &
@ -101,4 +107,4 @@ sleep 2
export FFMPEG_PATH=/usr/bin/ffmpeg
export DISPLAY=:1
cd /app/napcat
/opt/QQ/qq --no-sandbox -q $ACCOUNT
gosu napcat /opt/QQ/qq --no-sandbox -q $ACCOUNT