diff --git a/Dockerfile b/Dockerfile index 9d2d8ce0..84adf7f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,13 +14,22 @@ WORKDIR /src COPY --from=build /install /usr/local ADD ./src /src -RUN apk add curl +RUN apk add --update --no-cache \ + curl \ + shadow \ + supervisor -RUN mkdir "/config" && \ +RUN addgroup -S bangumi && \ + adduser -S bangumi -G bangumi -h /home/bangumi && \ + usermod -s /bin/bash bangumi + +RUN mkdir -p "/config" "/config/logs/supervisor" && \ chmod a+x run.sh && \ chmod a+x getWebUI.sh -ENV TZ=Asia/Shanghai +ENV TZ=Asia/Shanghai \ + PUID=1000 \ + PGID=1000 EXPOSE 7892 diff --git a/src/bangumi.conf b/src/bangumi.conf new file mode 100644 index 00000000..ae884a95 --- /dev/null +++ b/src/bangumi.conf @@ -0,0 +1,67 @@ +[unix_http_server] +file=/supervisor.sock +chmod=0700 + +[supervisord] +nodaemon=true +childlogdir=/config/logs/supervisor +logfile=/config/logs/supervisord.log +pidfile=/supervisord.pid + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///supervisor.sock + +[program:bangumi_app] +; 启动位置 +directory=/src +; 启动命令 +command=python3 app.py +; 是否自动重启 +autostart=true +autorestart=true +; 等待时间 +startsecs=1 +; 启动进程数 +numprocs=1 +; 重试次数 +startretries=3 +; 是否杀死子进程 +killasgroup=true +stopasgroup=true +; 日志输出控制台 +redirect_stderr=true +; 日志保存最大 10M +stdout_logfile_maxbytes=10MB +; 日志保存最大七天 +stdout_logfile_backups=3 +; 用户 +user=bangumi + +[program:bangumi_api] +; 启动位置 +directory=/src +; 启动命令 +command=python3 api.py +; 是否自动重启 +autostart=true +autorestart=true +; 等待时间 +startsecs=1 +; 启动进程数 +numprocs=1 +; 重试次数 +startretries=3 +; 是否杀死子进程 +killasgroup=true +stopasgroup=true +; 日志输出控制台 +redirect_stderr=true +; 日志保存最大 10M +stdout_logfile_maxbytes=10MB +; 日志保存最大七天 +stdout_logfile_backups=3 +; 用户 +user=bangumi \ No newline at end of file diff --git a/src/run.sh b/src/run.sh index effc9ea2..cc03ab22 100755 --- a/src/run.sh +++ b/src/run.sh @@ -2,5 +2,11 @@ sh ./getWebUI.sh -exec python3 app.py & -exec python3 api.py +groupmod -o -g "$PGID" bangumi +usermod -o -u "$PUID" bangumi + +echo '设置文件夹权限' +chown bangumi:bangumi /config +chown -R bangumi:bangumi /src /usr/local + +exec /usr/bin/supervisord -n -c /src/bangumi.conf \ No newline at end of file