飞牛NAS部署 Kasm Workspaces:云端桌面
飞牛NAS部署 Kasm Workspaces:云端桌面
引言
Kasm Workspaces 是一个基于浏览器的容器化桌面流平台,它允许你在任何设备上通过 Web 浏览器访问完整的 Linux 桌面环境。无论是开发、办公还是远程管理,Kasm 都能提供安全、高效的云端桌面体验。本文将指导你在飞牛NAS上部署 Kasm Workspaces,并将其与 NAS 的存储和网络优势相结合。
前置准备
- 飞牛NAS 已安装并正常运行
- 已启用 Docker 和 Docker Compose(飞牛NAS 应用中心可一键安装)
- 至少 4GB 内存和 20GB 可用存储空间
- 稳定的网络连接(用于拉取镜像)
第一步:创建部署目录
通过 SSH 或飞牛NAS 的文件管理器,在共享目录下创建 Kasm 专用文件夹:
# 假设你的 Docker 数据目录在 /volume1/docker
mkdir -p /volume1/docker/kasm
cd /volume1/docker/kasm
第二步:编写 docker-compose.yml
使用以下命令创建并编辑配置文件:
nano docker-compose.yml
粘贴以下内容(可根据需求调整资源限制):
version: '3.8'
services:
kasm_db:
image: postgres:15-alpine
container_name: kasm_db
restart: unless-stopped
environment:
POSTGRES_USER: kasmapp
POSTGRES_DB: kasm
POSTGRES_PASSWORD: your_strong_password_here
volumes:
- ./db_data:/var/lib/postgresql/data
networks:
- kasm_net
kasm_redis:
image: redis:7-alpine
container_name: kasm_redis
restart: unless-stopped
networks:
- kasm_net
kasm_server:
image: kasmweb/workspaces:1.15.0
container_name: kasm_server
restart: unless-stopped
ports:
- "8443:443"
environment:
KASM_API_KEY: "your_api_key_here"
KASM_MANAGER_TOKEN: "your_manager_token_here"
POSTGRES_PASSWORD: "your_strong_password_here"
POSTGRES_USER: kasmapp
POSTGRES_DB: kasm
POSTGRES_HOST: kasm_db
REDIS_HOST: kasm_redis
KASM_UPGRADE_CHECK_ENABLED: "false"
volumes:
- ./conf:/opt/kasm/current/conf
- ./log:/opt/kasm/current/log
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- kasm_db
- kasm_redis
networks:
- kasm_net
networks:
kasm_net:
driver: bridge
注意:请将 your_strong_password_here、your_api_key_here 和 your_manager_token_here 替换为强密码和随机字符串(可使用 openssl rand -base64 32 生成)。
第三步:启动服务
执行以下命令启动所有容器:
docker-compose up -d
首次启动会拉取约 2GB 的镜像,请耐心等待。可通过以下命令查看实时日志:
docker-compose logs -f kasm_server
当看到类似 Kasm Workspaces is now running on https://0.0.0.0:443 的提示时,表示启动成功。
第四步:初始化配置
- 在浏览器中访问
https://你的NASIP:8443 - 接受安全证书警告(因为是自签名证书)
- 使用默认管理员账户登录:
- 用户名:
[email protected] - 密码:
admin(首次登录会强制修改) - 进入管理后台后,建议立即修改默认密码
第五步:安装桌面环境(可选)
Kasm 默认提供轻量级桌面,你可以通过管理后台安装更多环境:
- 进入 Workspaces -> Registry
- 点击 Add Registry
- 输入官方仓库地址:
https://registry.kasmweb.com/ - 刷新后即可看到 Chrome、Firefox、VS Code 等预配置桌面
进阶配置
配置 NAS 共享存储
要让桌面环境访问 NAS 文件,可以挂载 Docker 卷:
# 在 kasm_server 的 volumes 中添加
- /volume1/shared:/mnt/nas_share
启动后,桌面内可通过 /mnt/nas_share 访问共享文件。
开启 SSL 证书
- 将证书文件放置到
./conf/ssl目录 - 修改
docker-compose.yml添加:
environment:
- SSL_CERTIFICATE_PATH=/opt/kasm/current/conf/ssl/cert.pem
- SSL_KEY_PATH=/opt/kasm/current/conf/ssl/key.pem
- 重启容器:
docker-compose restart
日常维护
备份数据库
docker exec kasm_db pg_dump -U kasmapp kasm > backup.sql
升级版本
docker-compose down
docker pull kasmweb/workspaces:最新版本
# 更新 docker-compose.yml 中的版本号
docker-compose up -d
查看资源占用
docker stats kasm_server kasm_db kasm_redis
常见问题
Q:无法访问 8443 端口? A:检查飞牛NAS 防火墙设置,确保 8443 端口已放行。
Q:桌面启动后黑屏?
A:尝试更换浏览器,推荐使用 Chrome 或 Edge。检查 WebGL 是否启用:访问 chrome://gpu。
Q:内存占用过高? A:在管理后台限制每个会话的 CPU/内存配额,或减少并发会话数。
总结
通过飞牛NAS 部署 Kasm Workspaces,你将获得一个功能强大、可随时访问的云端桌面环境。结合 NAS 的存储优势,可以实现文件共享、远程办公、开发测试等多种场景。记得定期更新容器镜像和备份配置数据,确保服务稳定运行。
现在,你的飞牛NAS 已经不仅仅是一个存储设备,更是一个私有云桌面平台。无论是移动办公还是团队协作,Kasm 都能提供安全、高效的解决方案。