[i=s] 本帖最后由 阿白x 于 2024-12-23 10:53 编辑 [/i]<br />
<br />

开源项目
Virtual DSM in a Docker container.
这个项目的意思是将群辉系统系统装在docker容器中。
地址:https://github.com/vdsm/virtual-dsm
安装之前可以看看自己的CPU是否支持KVM虚拟化,不然安装上会挺卡,CPU占用也会比较高。
只有Linux和Windows 11支持KVM虚拟化,不幸的是,macOS和Windows 10不支持。
可以在Linux中运行以下命令来检查您的系统:
sudo apt install cpu-checker
sudo kvm-ok
安装
其实安装非常简单,只需要在飞牛的docker compose中粘贴进去如下配置即可,剩下的全自动完成。
services:
  dsm:
    container_name: dsm
    image: vdsm/virtual-dsm
    environment:
      DISK_SIZE: "160G"
      RAM_SIZE: "8G"
      CPU_CORES: "8"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 5000:5000
    volumes:
      - /vol1/1000/docker/dsm:/storage
    stop_grace_period: 2m
启动之后再网页访问:http://xxx.xxx.xxx.xx:5000(将IP换成自己的,如果5000端口冲突换一个即可)。

DISK_SIZE: 磁盘大小
RAM_SIZE: 内存大小
CPU_CORES: CPU核心数
以上配置都可以自行调整,初级玩法是要上面就行,还有一些可配置的参数,如下:
添加多个磁盘
environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - /home/example:/storage2
  - /mnt/data/example:/storage3
为容器分配独立的IP
创建专用网络,将网关换成自己的,enp6s0也换成自己的物理端口,例如eth0之类的,下面是我的,内个人的都可能不一样。
docker network create -d macvlan \
    --subnet=192.168.100.0/24 \
    --gateway=192.168.100.1 \
    --ip-range=192.168.100.100/28 \
    -o parent=enp6s0 vlan
创建网络后,将您的合成文件更改为如下所示:
services:
  dsm:
    container_name: dsm
    ..<snip>..
    networks:
      vdsm:
        ipv4_address: 192.168.100.101
networks:
  vdsm:
    external: true
通过GPU加速
要传递您的GPU,请将以下行添加到合成文件中:
environment:
  GPU: "Y"
devices:
  - /dev/dri
例如,这可以用于启用Synology照片中的面部识别功能。
安装特定版本的vDSM
默认情况下,将安装7.2版本,但如果您更喜欢旧版本,则可以将其下载URL添加到compose文件中,如下所示:
environment:
  URL: "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
下面是我的配置
我是分配了独立IP,需要使用我的配置请按照上面教程建立网络。
services:
  dsm:
    container_name: dsm
    image: vdsm/virtual-dsm
    environment:
      DISK_SIZE: "160G"
      RAM_SIZE: "8G"
      CPU_CORES: "8"
      GPU: "Y"
    devices:
      - /dev/kvm
      - /dev/net/tun
      - /dev/dri
    cap_add:
      - NET_ADMIN
    ports:
      - 5000:5000
    volumes:
      - /vol1/1000/docker/dsm:/storage
    stop_grace_period: 2m
    networks:
      vlan:
        ipv4_address: 192.168.100.101
networks:
  vlan:
    external: true
