mirror of
https://github.com/YuCat-OVO/BaiduNetdisk-Docker
synced 2025-05-10 20:10:04 +08:00
9.4 KiB
9.4 KiB
BaiduNetdisk-Docker
一款基于 Linuxserver.io 的 KasmVNC 基础镜像以及百度网盘官方客户端的 Docker 镜像
镜像设置
该镜像部署了百度网盘桌面应用程序,并通过浏览器中的 KasmVNC 服务器提供其界面。该接口位于 http://your-ip:8080 或者 https://your-ip:8181。
默认情况下,主 GUI 没有设置密码。可选环境变量 PASSWORD 将允许为用户 abc 设置 http auth 密码。
所有基于 KasmVNC 的 GUI 容器中的选项
该容器基于 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),这个变量允许您指定设备,例如: /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) |
无损模式
通过将流质量预设更改为“Extreme”,该容器能够以高帧速率向您的 Web 浏览器提供真正的无损图像,更多信息请参见此处。为了从非 localhost 端点使用此模式,需要使用 8181 上的 HTTPS 端口。如果使用端口 8080 的反向代理,则需要按照此处所述设置特定标头。.
如何部署
为了帮助您开始从此镜像创建容器,您可以使用 docker-compose 或 docker cli。
Docker 部署:
docker-compose (推荐, 点击这里查看更多信息)
---
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 (点击这里查看更多信息)
docker run -d \
--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
podman run -d \
--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
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: baidunetdisk-deployment
annotations:
io.containers.autoupdate: registry
spec:
replicas: 1
selector:
matchLabels:
app: baidunetdisk
template:
metadata:
labels:
app: baidunetdisk
spec:
restartPolicy: always
containers:
- name: baidunetdisk
image: docker.io/yucat-ovo/baidunetdisk-docker:latest
volumeMounts:
- name: config-path
mountPath: /config/
- name: download-path
mountPath: /config/baidunetdiskdownload/
ports:
- containerPort: 8080
hostPort: 8080
protocol: TCP
- containerPort: 8181
hostPort: 8181
protocol: TCP
env:
- name: TZ
value: "Asia/Shanghai"
- name: DRINODE # 可选
value: "/dev/dri/renderD128"
volumes:
- name: config-path
hostPath:
path: /配置文件位置
type: Directory
- name: download-path
hostPath:
path: /下载位置
type: Directory
注意事项
- 目前 KasmVNC 对于 Firefox 的支持貌似有问题,推荐使用 Chrome 获得最佳体验。
- Podman 如果需要启用硬件加速,可能需要往
/etc/containers/containers.conf.d/添加配置(详见:containers.conf.5):
[containers]
devices = ["/dev/dri/card1:rwm","/dev/dri/renderD128:rwm"]