Docker 玩法

飞牛NAS部署 Kasm Workspaces:云端桌面

2026-07-30 3 admin

飞牛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_hereyour_api_key_hereyour_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 的提示时,表示启动成功。

第四步:初始化配置

  1. 在浏览器中访问 https://你的NASIP:8443
  2. 接受安全证书警告(因为是自签名证书)
  3. 使用默认管理员账户登录:
  4. 用户名:[email protected]
  5. 密码:admin(首次登录会强制修改)
  6. 进入管理后台后,建议立即修改默认密码

第五步:安装桌面环境(可选)

Kasm 默认提供轻量级桌面,你可以通过管理后台安装更多环境:

  1. 进入 Workspaces -> Registry
  2. 点击 Add Registry
  3. 输入官方仓库地址:https://registry.kasmweb.com/
  4. 刷新后即可看到 Chrome、Firefox、VS Code 等预配置桌面

进阶配置

配置 NAS 共享存储

要让桌面环境访问 NAS 文件,可以挂载 Docker 卷:

# 在 kasm_server 的 volumes 中添加
- /volume1/shared:/mnt/nas_share

启动后,桌面内可通过 /mnt/nas_share 访问共享文件。

开启 SSL 证书

  1. 将证书文件放置到 ./conf/ssl 目录
  2. 修改 docker-compose.yml 添加:
environment:
  - SSL_CERTIFICATE_PATH=/opt/kasm/current/conf/ssl/cert.pem
  - SSL_KEY_PATH=/opt/kasm/current/conf/ssl/key.pem
  1. 重启容器: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 都能提供安全、高效的解决方案。