This commit is contained in:
YuCat-OVO 2024-03-03 14:52:14 +08:00
parent 49fa094eb2
commit 1a632758e8

112
README.md
View File

@ -2,31 +2,114 @@
一款基于 [Linuxserver.io](https://www.linuxserver.io/) 的 [KasmVNC 基础镜像](https://github.com/linuxserver/docker-baseimage-kasmvnc)以及百度网盘官方客户端的 Docker 镜像 一款基于 [Linuxserver.io](https://www.linuxserver.io/) 的 [KasmVNC 基础镜像](https://github.com/linuxserver/docker-baseimage-kasmvnc)以及百度网盘官方客户端的 Docker 镜像
## 部署方式 ## 镜像设置
### Docker 部署: 该镜像部署了百度网盘桌面应用程序,并通过浏览器中的 KasmVNC 服务器提供其界面。该接口位于 `http://your-ip:8080` 或者 `https://your-ip:8181`
```shell
默认情况下,主 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 \ docker run -d \
--name baidunetdisk \ --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 8080:8080 \
-p 8181:8181 \ -p 8181:8181 \
-p 8081:8081 \
-v /配置文件位置:/config \ -v /配置文件位置:/config \
-v /下载位置:/config/baidunetdiskdownload \ -v /下载位置:/config/baidunetdiskdownload \
--restart unless-stopped \ --restart unless-stopped \
ghcr.io/yucat-ovo/baidunetdisk-docker:latest docker.io/yucat-ovo/baidunetdisk-docker:latest
``` ```
### Podman 部署: ### Podman 部署:
#### CLI #### CLI
```shell ```shell
podman run -d \ podman run -d \
--name baidunetdisk \ --name=baidunetdisk \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e PASSWORD= `#可选` \
-e CLI_ARGS= `#可选` \
-p 8080:8080 \ -p 8080:8080 \
-p 8181:8181 \ -p 8181:8181 \
-p 8081:8081 \
-v /配置文件位置:/config \ -v /配置文件位置:/config \
-v /下载位置:/config/baidunetdiskdownload \ -v /下载位置:/config/baidunetdiskdownload \
--restart unless-stopped \ --restart unless-stopped \
ghcr.io/yucat-ovo/baidunetdisk-docker:latest docker.io/yucat-ovo/baidunetdisk-docker:latest
``` ```
#### Deployment #### Deployment
```shell ```shell
@ -50,7 +133,7 @@ spec:
restartPolicy: always restartPolicy: always
containers: containers:
- name: baidunetdisk - name: baidunetdisk
image: ghcr.io/yucat-ovo/baidunetdisk-docker:latest image: docker.io/yucat-ovo/baidunetdisk-docker:latest
volumeMounts: volumeMounts:
- name: config-path - name: config-path
mountPath: /config/ mountPath: /config/
@ -66,7 +149,7 @@ spec:
env: env:
- name: TZ - name: TZ
value: "Asia/Shanghai" value: "Asia/Shanghai"
- name: DRINODE - name: DRINODE # 可选
value: "/dev/dri/renderD128" value: "/dev/dri/renderD128"
volumes: volumes:
- name: config-path - name: config-path
@ -79,10 +162,13 @@ spec:
type: Directory type: Directory
``` ```
## 使用方式 ## 注意事项
打开 `http://localhost:8080` 或者 `http://localhost:8080` - 目前 KasmVNC 对于 Firefox 的支持貌似有问题,推荐使用 Chrome 获得最佳体验。
- Podman 如果需要启用硬件加速,可能需要往 `/etc/containers/containers.conf.d/` 添加配置(详见:[containers.conf.5](https://github.com/containers/common/blob/main/docs/containers.conf.5.md)
注意: 目前 KasmVNC 对于 Firefox 的支持貌似有问题,推荐使用 Chrome 获得最佳体验。 ```
[containers]
devices = ["/dev/dri/card1:rwm","/dev/dri/renderD128:rwm"]
```
## 感谢以下项目: ## 感谢以下项目:
- [KasmVNC Base Images from LinuxServer](https://github.com/linuxserver/docker-baseimage-kasmvnc) - [KasmVNC Base Images from LinuxServer](https://github.com/linuxserver/docker-baseimage-kasmvnc)