docker里的群晖
新建
macvlan
虚拟网络内容根据需要修改,ens33
为宿主机真实网卡名称,192.168.10.131
为分配给群晖的ip,192.168.10.132
为宿主机分配的ip用于和群晖容器连接。1
2
3
4
5
6
7docker network create -d macvlan -o parent=ens33 \
--subnet 192.168.10.0/24 \
--gateway 192.168.10.254 \
--ip-range 192.168.10.131/27 \
--aux-address 'host=192.168.10.132' \
vdsm新建
docker-compose.yml
内容自行修改1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33version: "3"
services:
dsm:
container_name: dsm
image: vdsm/virtual-dsm:latest
environment:
DISK_SIZE: "700G"
CPU_CORES: "2"
RAM_SIZE: "1024M"
ALLOCATE: "N"
GPU: "Y"
HOST_SERIAL: "Y(valid Serial number of a host Synology device)"
GUEST_SERIAL: "Y(Serial from the demo)"
VM_NET_MAC: "Y(Mac address from demo, see Network tab)"
devices:
- /dev/kvm
- /dev/vhost-net
- /dev/dri
cap_add:
- NET_ADMIN
- NET_RAW
networks:
vdsm:
ipv4_address: 192.168.10.131
volumes:
- /home/docker/dsm:/storage
restart: on-failure
stop_grace_period: 1m
privileged: true
networks:
vdsm:
external: true建立宿主机与群晖容器连接,内容自行修改,可以将其放入宿主机
rc.local
开机自动运行1
2
3ip link add vdsm-shim link ens33 type macvlan mode bridge
ip addr add 192.168.1.132/32 dev vdsm-shim
ip link set vdsm-shim up可选补丁-AME激活
修复ame,需要提前安装好python3.9和ame,仅供7.2版本使用,将以下保存为ame.py
,然后在连接群晖容器ip,输入sudo -i
获取root权限,运行ame.py
即可。
可选一键安装curl http://code.imnks.com/ame3patch/ame72-3005.py | python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33import hashlib
import os
r = ['669066909066906690', 'B801000000', '30', 'B801000000669090']
s = [(0x3718, 0), (0x60A5, 1), (0x60D1, 1), (0x6111, 3), (0x6137, 1), (0xB5F0, 2)]
prefix = '/var/packages/CodecPack/target/usr'
so = prefix + '/lib/libsynoame-license.so'
print("Patching")
with open(so, 'r+b') as fh:
full = fh.read()
if hashlib.md5(full).digest().hex() != '09e3adeafe85b353c9427d93ef0185e9':
print("MD5 mismatch")
exit(1)
for x in s:
fh.seek(x[0] + 0x8000, 0)
fh.write(bytes.fromhex(r[x[1]]))
lic = '/usr/syno/etc/license/data/ame/offline_license.json'
os.makedirs(os.path.dirname(lic), exist_ok=True)
with open(lic, 'w') as licf:
licf.write('[{"attribute": {"codec": "hevc", "type": "free"}, "status": "valid", "extension_gid": null, "expireTime": 0, "appName": "ame", "follow": ["device"], "duration": 1576800000, "appType": 14, "licenseContent": 1, "registered_at": 1649315995, "server_time": 1685421618, "firstActTime": 1649315995, "licenseCode": "0"}, {"attribute": {"codec": "aac", "type": "free"}, "status": "valid", "extension_gid": null, "expireTime": 0, "appName": "ame", "follow": ["device"], "duration": 1576800000, "appType": 14, "licenseContent": 1, "registered_at": 1649315995, "server_time": 1685421618, "firstActTime": 1649315995, "licenseCode": "0"}]')
print("Checking whether patch is successful...")
ret = os.system(prefix + "/bin/synoame-bin-check-license")
if ret == 0:
print("Successful, updating codecs...")
os.system(prefix + "/bin/synoame-bin-auto-install-needed-codec")
print("Done")
else:
print(f"Patch is unsuccessful, retcode = {ret}")安装ffmpeg套件
社群https://packages.synocommunity.com国内无法连接,在套件来源中增加位置https://spk7.imnks.com/,然后搜索ffmpeg即可找到并安装。ffmpeg现有4、5、6共3个版本,推荐安装5。最新安装的版本将成为默认的ffmpeg。。
自动模式
curl https://ghproxy.com/https://raw.githubusercontent.com/AlexPresso/VideoStation-FFMPEG-Patcher/main/patcher.sh | bash -s -- -v 5
以下为手动模式
执行
curl -L --max-filesize 512000 -o installer_OffLine.sh "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/installer_OffLine.sh"
给权限
chmod +x installer_OffLine.sh
执行
/bin/bash installer_OffLine.sh "$@"
检查
看一下/var/packages/CodecPack/target/pack/bin/ffmpeg41
,如果大小为0,自己用命令下载:wget -q https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/ffmpeg41-wrapper-DSM7_X-Advanced -O /var/packages/CodecPack/target/pack/bin/ffmpeg41
修复synology photo人脸识别(不建议可能造成不稳定)
9代及以前的英特尔CPU能搞定核显就不要折腾这个补丁!如果CPU不带核显但安装机型支持核显,肯定要搞这个补丁了!安装机型原版CPU不带核显也不需要折腾补丁。
先停用synology photo1
2
3
4
5
6
7
8wget http://code.imnks.com/face/PatchELFSharp
chmod +x PatchELFSharp
# support face and concept
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0" "_ZN9synophoto6plugin8platform20IsSupportedIENetworkEv" "B8 00 00 00 00 C3"
# force to support concept
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0" "_ZN9synophoto6plugin8platform18IsSupportedConceptEv" "B8 01 00 00 00 C3"
# force no Gpu
./PatchELFSharp "/var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so.1.0" "_ZN9synophoto6plugin8platform23IsSupportedIENetworkGpuEv" "B8 00 00 00 00 C3"