diff --git a/build/Dockerfile b/build/Dockerfile index 3b3abcd8..1cceca87 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -45,6 +45,8 @@ RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.lis libwebsockets17 \ libnss3 \ libasound2 \ + libdrm2 \ + libx264-164 \ nano \ unzip \ && if [ ${TARGETARCH} != arm64 ]; then \ @@ -63,7 +65,6 @@ RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.lis libva2 \ libva-drm2 \ libva-x11-2 \ - libdrm2 \ mesa-va-drivers \ mesa-vdpau-drivers \ intel-media-va-driver \ diff --git a/build/init.sh b/build/init.sh index 2b57af74..0363d193 100755 --- a/build/init.sh +++ b/build/init.sh @@ -71,6 +71,7 @@ if [ ! -f /etc/kvmd/.init_flag ]; then # 设置用户名和密码 if [ ! -z "$USERNAME" ] && [ ! -z "$PASSWORD" ]; then + # 设置自定义用户名和密码 if python -m kvmd.apps.htpasswd del admin \ && echo "$PASSWORD" | python -m kvmd.apps.htpasswd set -i "$USERNAME" \ && echo "$PASSWORD -> $USERNAME:$PASSWORD" > /etc/kvmd/vncpasswd \ @@ -80,6 +81,16 @@ if [ ! -f /etc/kvmd/.init_flag ]; then log_error "用户凭据设置失败" exit 1 fi + elif [ ! -z "$PASSWORD" ] && [ -z "$USERNAME" ]; then + # 只设置密码,保持admin用户名 + if echo "$PASSWORD" | python -m kvmd.apps.htpasswd set -i "admin" \ + && echo "$PASSWORD -> admin:$PASSWORD" > /etc/kvmd/vncpasswd \ + && echo "admin:$PASSWORD -> admin:$PASSWORD" > /etc/kvmd/ipmipasswd; then + log_info "admin 用户密码设置成功" + else + log_error "admin 用户密码设置失败" + exit 1 + fi else log_warn "未设置 USERNAME 和 PASSWORD 环境变量,使用默认值(admin/admin)" fi @@ -210,8 +221,8 @@ EOF fi if [ ! -z "$VIDEOFORMAT" ]; then - if sed -i "s/format=mjpeg/format=$VIDFORMAT/g" /etc/kvmd/override.yaml; then - log_info "视频输入格式已设置为 $VIDFORMAT" + if sed -i "s/format=mjpeg/format=$VIDEOFORMAT/g" /etc/kvmd/override.yaml; then + log_info "视频输入格式已设置为 $VIDEOFORMAT" fi fi @@ -221,6 +232,19 @@ EOF fi fi + # 设置WEB端口 + if [ ! -z "$HTTPPORT" ]; then + if sed -i "s/port: 8080/port: $HTTPPORT/g" /etc/kvmd/override.yaml; then + log_info "HTTP 端口已设置为 $HTTPPORT" + fi + fi + + if [ ! -z "$HTTPSPORT" ]; then + if sed -i "s/port: 4430/port: $HTTPSPORT/g" /etc/kvmd/override.yaml; then + log_info "HTTPS 端口已设置为 $HTTPSPORT" + fi + fi + touch /etc/kvmd/.init_flag log_info "初始化配置完成"