#!/bin/bash # shellcheck shell=bash # shellcheck disable=SC2016 # 使用 `envsubst` 将模板文件中的 ${NGINX_PORT} 替换为实际的环境变量值 export NGINX_CLIENT_MAX_BODY_SIZE=${NGINX_CLIENT_MAX_BODY_SIZE:-10m} envsubst '${NGINX_PORT}${PORT}${NGINX_CLIENT_MAX_BODY_SIZE}' < /etc/nginx/nginx.template.conf > /etc/nginx/nginx.conf # 自动更新 cd / /usr/local/bin/mp_update cd /app || exit # 更改 moviepilot userid 和 groupid groupmod -o -g "${PGID}" moviepilot usermod -o -u "${PUID}" moviepilot # 更改文件权限 chown -R moviepilot:moviepilot \ "${HOME}" \ /app \ /public \ /config \ /var/lib/nginx \ /var/log/nginx chown moviepilot:moviepilot /etc/hosts /tmp # 下载浏览器内核 if [[ "$HTTPS_PROXY" =~ ^https?:// ]] || [[ "$https_proxy" =~ ^https?:// ]] || [[ "$PROXY_HOST" =~ ^https?:// ]]; then HTTPS_PROXY="${HTTPS_PROXY:-${https_proxy:-$PROXY_HOST}}" gosu moviepilot:moviepilot playwright install chromium else gosu moviepilot:moviepilot playwright install chromium fi # 启动前端nginx服务 nginx # 启动docker http proxy nginx if [ -S "/var/run/docker.sock" ]; then nginx -c /etc/nginx/docker_http_proxy.conf # 上面nginx是通过root启动的,会将目录权限改成root,所以需要重新再设置一遍权限 chown -R moviepilot:moviepilot \ /var/lib/nginx \ /var/log/nginx fi # 设置后端服务权限掩码 umask "${UMASK}" # 启动后端服务 exec dumb-init gosu moviepilot:moviepilot python3 app/main.py