告别iCloud和iTunes:手把手教你用Docker将iPhone自动备份至NAS
项目简介
本期将为大家介绍一个专注于实现iPhone整机备份的解决方案:razeencheng/iosbackup。该项目基于著名的开源库libimobiledevice构建,该库通过iOS原生协议实现了跨平台与设备的交互。值得注意的是,此工具未在GitHub上建立独立项目页面,但可以直接在Docker Hub中搜索获取。
对于iPhone数据备份,常规的照片、短信等内容已有多种成熟方案。然而,在整机备份方面,苹果官方仅提供两种途径:一是通过iCloud云备份,二是利用iTunes(macOS上为访达)进行本地备份。坦白说,这两种方式都不尽如人意。前者需要付费购买存储空间,且备份速度受网络影响较大;后者则主要受限于电脑的可用存储容量(Windows版iTunes的体验更是广受诟病,令人望而却步)。
本文将介绍的iosbackup项目,可以通过Docker轻松部署在基于Linux amd64/x86_64架构的服务器(如多数NAS设备)上。它能基于Wi-Fi连接,自动将您的iPhone数据备份至NAS等Linux服务器,为您提供一个可靠且自主可控的备份方案。
项目核心功能
这是一款旨在便捷实现手机整机备份的小工具,其底层依赖于libimobiledevice。它支持通过USB或Wi-Fi将iOS设备的完整数据备份到您的NAS中。
支持的主要特性
● 自动识别设备是通过Wi-Fi还是USB接入,并触发备份流程。 ● 允许用户自定义备份任务执行的时间段。 ● 可以设置两次备份之间的最小时间间隔。 ● 能够指定开始执行备份所需的设备最低电量。 ● 提供“仅当设备处于充电状态时才进行备份”的选项。
前期准备工作
在开始部署之前,需要先完成一个关键步骤:在电脑上完成iPhone的首次Wi-Fi配对。此步骤只需选择以下任一平台操作一次,其作用相当于建立一个“信任跳板”。
Windows用户操作步骤
- 首先,前往Microsoft Store应用商店,搜索并下载名为“Apple Devices”的官方应用。

- 安装完成后,使用USB数据线将iPhone连接到电脑。iPhone屏幕上会弹出“信任此电脑”的提示,请点击“信任”并输入锁屏密码。

- 随后,在“Apple Devices”应用中,勾选「接入Wi-Fi时显示此iPhone」选项,并点击「应用」按钮。操作完成后,即可安全地拔下设备。

macOS用户操作步骤
- 无需额外安装软件,直接使用USB数据线将iPhone连接到Mac电脑。
- 同样地,在iPhone上点击“信任此电脑”。
- 打开“访达”,在边栏中找到并点击您的iPhone设备图标。在打开的界面中,同样勾选「接入Wi-Fi时显示此iPhone」的复选框,等待设置保存后,即可拔下设备。

服务部署流程
接下来,我们通过Docker Compose的方式在NAS的Docker环境中部署iosbackup服务。
请创建一个docker-compose.yml文件,并使用以下配置代码:
services:
iosbackup:
image: razeencheng/iosbackup:latest
container_name: iosbackup
restart: always
network_mode: host
privileged: true # 启用容器特权模式,这是访问USB设备所必需的
environment:
- PORT=9000 # 设置Web管理界面监听的端口,可根据需要修改
- LOG_LEVEL=INFO # 设置日志级别,默认为WARN,INFO会显示更详细的信息
volumes:
- /var/run/dbus:/run/dbus # 共享主机的DBus系统总线,iOS设备通信需要
- /dev/bus/usb:/dev/bus/usb # 共享主机的USB设备目录,以便容器识别手机
- /share/Container/iosbackup/configs:/configs # 挂载配置文件目录,方便持久化管理
- /share/Container/iosbackup/lockdown:/var/lib/lockdown # 挂载设备配对信息目录
# 备份数据存储路径:强烈建议映射到大容量的非系统存储空间
- /share/BackupData/iosbackup/backups:/backups
在NAS的Docker管理工具(例如威联通的Container Station、群晖的Docker套件)中,找到创建应用程序或Stack的选项,将上述配置内容粘贴进去。

使用与配置展示
部署完成后,服务即会启动。打开您的网页浏览器,访问 您的NAS的IP地址:9000(端口号与上述配置的PORT环境变量一致),即可进入iosbackup的Web控制台。

尽管项目支持Wi-Fi自动备份,但首次让系统识别您的设备,仍然需要通过USB连接来完成。
- 将您的iPhone通过USB线连接到NAS设备背面的USB接口。
- 如果页面没有自动刷新出设备,可以尝试点击控制台内的「重启 usbmuxd」按钮,然后手动刷新浏览器页面。
- 当iPhone屏幕上出现信任提示时,请点击“信任”。信任成功后,控制台页面会自动刷新,显示出已连接的设备信息。
- 在设备管理页面,您可以修改备份的各项条件配置,如备份时间、电量要求等,修改后记得点击保存。强烈建议第一次完整备份通过USB连接进行,以确保速度和稳定性。备份文件将存储在之前Docker Compose配置中映射的
/backups目录里。
- 首次USB备份完成并保存配置后,您可以拔掉USB线。此时,在Web控制台右上角,设备连接状态会从“USB”变为“Wi-Fi”。

此后,只要您的iPhone满足您设定的条件(如处于特定时间段、电量充足、连接充电器且在同一个Wi-Fi网络下),系统便会自动执行增量备份,无需再插拔USB线。
当需要从备份中恢复数据时,您可以将NAS中存储备份文件的共享文件夹挂载到Mac或PC上,然后使用相应的恢复工具(如苹果官方的恢复流程)选择特定备份版本进行还原即可。
注意事项与结语
总体而言,razeencheng/iosbackup是一个非常实用的项目。但需要注意的是,它对NAS设备的硬件兼容性有一定要求。这可能与不同品牌NAS的USB协议开放程度或安全策略有关。
根据实测经验,在多个品牌的NAS和虚拟化系统中进行尝试,成功可用的设备并不多。受限于手头设备,目前可以确认的是,白群晖、飞牛OS兼容性良好,极空间部分型号可用。绿联NAS暂未进行测试,而威联通(QNAP)设备大概率无法成功识别USB连接的iPhone。
如果您有将iPhone数据自主备份到私有存储的需求,不妨按照本文的步骤部署尝试一下。希望这个方案能帮助您更自由、更安心地管理宝贵的手机数据。