From 1a632758e830d7f9abb4164b0626fe76a93bcba2 Mon Sep 17 00:00:00 2001 From: YuCat-OVO <66810215+YuCat-OVO@users.noreply.github.com> Date: Sun, 3 Mar 2024 14:52:14 +0800 Subject: [PATCH] README --- README.md | 132 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 109 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index ef4efc3..6e1637d 100644 --- a/README.md +++ b/README.md @@ -2,31 +2,114 @@ 一款基于 [Linuxserver.io](https://www.linuxserver.io/) 的 [KasmVNC 基础镜像](https://github.com/linuxserver/docker-baseimage-kasmvnc)以及百度网盘官方客户端的 Docker 镜像 -## 部署方式 +## 镜像设置 -### Docker 部署: -```shell +该镜像部署了百度网盘桌面应用程序,并通过浏览器中的 KasmVNC 服务器提供其界面。该接口位于 `http://your-ip:8080` 或者 `https://your-ip:8181`。 + +默认情况下,主 GUI 没有设置密码。可选环境变量 `PASSWORD` 将允许为用户 `abc` 设置 http auth 密码。 + +### 所有基于 KasmVNC 的 GUI 容器中的选项 + +该容器基于 [Docker Baseimage KasmVNC](https://github.com/linuxserver/docker-baseimage-kasmvnc),这意味着有额外的环境变量和运行配置来启用或禁用特定功能。 + +#### 可选环境变量 + +| Variable | Description | +| :---------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| CUSTOM_PORT | 容器侦听 http 的内部端口(如果需要更改默认的 8080 端口)。 | +| CUSTOM_HTTPS_PORT | 容器侦听 https 的内部端口(如果需要更改默认的 8181 端口)。 | +| CUSTOM_USER | HTTP 基本身份验证用户名,默认为 abc。 | +| PASSWORD | HTTP 基本身份验证密码,默认为 abc。如果未设置,则不会进行身份验证 | +| SUBFOLDER | 应用程序的 subfolder 参数(如果为容器运行了子文件夹反向代理),需要使用两个斜线包裹 例如: `/subfolder/` | +| TITLE | Web 浏览器上显示的页面标题,默认为 “KasmVNC Client”。 | +| FM_HOME | 这是文件管理器的主目录(默认主目录),默认为“/config”。 | +| START_DOCKER | 如果设置为 false,具有特权的容器将不会自动启动 DinD Docker 设置。 | +| DRINODE | 如果在 /dev/dri 中挂载了支持硬件加速的 GPU 设备(详见:[DRI3 GPU Acceleration](https://www.kasmweb.com/kasmvnc/docs/master/gpu_acceleration.html)),这个变量允许您指定设备,例如: `/dev/dri/renderD128` | +| LC_ALL | 设置容器中运行的语言,例如:`zh_CN.UTF-8` `en_US.UTF-8` | +| NO_DECOR | 如果设置,应用程序将在没有窗口边框的情况下运行,以用作 PWA。 | +| NO_FULL | 使用 openbox 时不要自动全屏应用程序。 | + +#### 可选的运行配置 + +| Variable | Description | +| :--------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `--privileged` | 将在容器内启动 Docker in Docker (DinD) 设置,以便在隔离环境中使用 docker。为了提高性能,可以将容器内的 Docker 目录挂载到主机,例如:-v /home/user/docker-data:/var/lib/docker 。 | +| `-v /var/run/docker.sock:/var/run/docker.sock` | 安装在主机的 Docker 套接字中,以通过 CLI 与其交互或使用支持 Docker 的应用程序。 | +| `--device /dev/dri:/dev/dri` | 将 GPU 安装到容器中,这可以与 `DRINODE` 环境变量结合使用,以利用主机显卡来实现 GPU 加速应用程序。仅支持开源驱动程序,例如:(Intel、AMDGPU、Radeon、ATI、Nouveau) | + +### 无损模式 + +通过将流质量预设更改为“无损”,该容器能够以高帧速率向您的 Web 浏览器提供真正的无损图像,更多信息请参见[此处](https://www.kasmweb.com/docs/latest/how_to/lossless.html#technical-background)。为了从非 localhost 端点使用此模式,需要使用 8181 上的 HTTPS 端口。如果使用端口 8080 的反向代理,则需要按照[此处](https://github.com/linuxserver/docker-baseimage-kasmvnc#lossless)所述设置特定标头。. + +## 如何部署 + +为了帮助您开始从此镜像创建容器,您可以使用 docker-compose 或 docker cli。 + +### Docker 部署: + +#### docker-compose (推荐, [点击这里查看更多信息](https://docs.linuxserver.io/general/docker-compose)) + +```yaml +--- +services: + calibre: + image: docker.io/yucat-ovo/baidunetdisk-docker:latest + container_name: baidunetdisk + security_opt: + - seccomp:unconfined #可选 + environment: + - PUID=1000 + - PGID=1000 + - TZ=Asia/Shanghai + - PASSWORD= #可选 + - CLI_ARGS= #可选 + volumes: + - /配置文件位置:/config/ + - /下载位置:/config/baidunetdiskdownload + ports: + - 8080:8080 + - 8181:8181 + - 8081:8081 + restart: unless-stopped +``` + +#### docker CLI ([点击这里查看更多信息](https://docs.docker.com/engine/reference/commandline/cli/)) + +```bash docker run -d \ - --name baidunetdisk \ - -p 8080:8080 \ - -p 8181:8181 \ - -v /配置文件位置:/config \ - -v /下载位置:/config/baidunetdiskdownload \ - --restart unless-stopped \ - ghcr.io/yucat-ovo/baidunetdisk-docker:latest + --name=baidunetdisk \ + --security-opt seccomp=unconfined `#可选` \ + -e PUID=1000 \ + -e PGID=1000 \ + -e TZ=Asia/Shanghai \ + -e PASSWORD= `#可选` \ + -e CLI_ARGS= `#可选` \ + -p 8080:8080 \ + -p 8181:8181 \ + -p 8081:8081 \ + -v /配置文件位置:/config \ + -v /下载位置:/config/baidunetdiskdownload \ + --restart unless-stopped \ + docker.io/yucat-ovo/baidunetdisk-docker:latest ``` ### Podman 部署: #### CLI ```shell podman run -d \ - --name baidunetdisk \ - -p 8080:8080 \ - -p 8181:8181 \ - -v /配置文件位置:/config \ - -v /下载位置:/config/baidunetdiskdownload \ - --restart unless-stopped \ - ghcr.io/yucat-ovo/baidunetdisk-docker:latest + --name=baidunetdisk \ + -e PUID=1000 \ + -e PGID=1000 \ + -e TZ=Asia/Shanghai \ + -e PASSWORD= `#可选` \ + -e CLI_ARGS= `#可选` \ + -p 8080:8080 \ + -p 8181:8181 \ + -p 8081:8081 \ + -v /配置文件位置:/config \ + -v /下载位置:/config/baidunetdiskdownload \ + --restart unless-stopped \ + docker.io/yucat-ovo/baidunetdisk-docker:latest ``` #### Deployment ```shell @@ -50,7 +133,7 @@ spec: restartPolicy: always containers: - name: baidunetdisk - image: ghcr.io/yucat-ovo/baidunetdisk-docker:latest + image: docker.io/yucat-ovo/baidunetdisk-docker:latest volumeMounts: - name: config-path mountPath: /config/ @@ -66,7 +149,7 @@ spec: env: - name: TZ value: "Asia/Shanghai" - - name: DRINODE + - name: DRINODE # 可选 value: "/dev/dri/renderD128" volumes: - name: config-path @@ -79,10 +162,13 @@ spec: type: Directory ``` -## 使用方式 -打开 `http://localhost:8080` 或者 `http://localhost:8080`。 - -注意: 目前 KasmVNC 对于 Firefox 的支持貌似有问题,推荐使用 Chrome 获得最佳体验。 +## 注意事项 +- 目前 KasmVNC 对于 Firefox 的支持貌似有问题,推荐使用 Chrome 获得最佳体验。 +- Podman 如果需要启用硬件加速,可能需要往 `/etc/containers/containers.conf.d/` 添加配置(详见:[containers.conf.5](https://github.com/containers/common/blob/main/docs/containers.conf.5.md)): +``` + [containers] + devices = ["/dev/dri/card1:rwm","/dev/dri/renderD128:rwm"] + ``` ## 感谢以下项目: - [KasmVNC Base Images from LinuxServer](https://github.com/linuxserver/docker-baseimage-kasmvnc)