idevicebackup2 web frontend
  • Python 70.9%
  • HTML 29.1%
Find a file
2025-11-27 19:56:01 +01:00
src/iphone_backup_service Make backups trackable with HealtChecks 2025-11-27 19:56:01 +01:00
.gitignore Commit missing config.py 2025-11-18 21:51:20 +01:00
index.html Use relative URL in README 2025-11-18 21:55:07 +01:00
LICENSE.md Initial commit 2025-11-18 20:10:39 +01:00
pyproject.toml Make backups trackable with HealtChecks 2025-11-27 19:56:01 +01:00
README.md Make backups trackable with HealtChecks 2025-11-27 19:56:01 +01:00
uv.lock Make backups trackable with HealtChecks 2025-11-27 19:56:01 +01:00

iPhone Backup Service

A convenient web wrapper around idevicebackup2 to allow users to backup their iPhone over USB / network and have live feedback through command line streaming.

Installation

You will need stdbuf on your system (usually provided by GNU coreutils package). You will also need to install libimobiledevice on your system, which provides the useful tools to talk to your iPhone (including idevicebackup2).

If you intend to use this tool over the network (default configuration), then follow this guide to install the specific version of libimobiledevice with network support.

Ensure you have uv on your system. Then,

git clone …  # Clone the repository
cd iphone-backup-service
uv sync  # Install dependencies, use --all-extras flag if you want the development tools as well

Running

To run the tool, you can use the built-in uvicorn webserver:

uv run uvicorn iphone_backup_service.main:app

Use the following environment variables to customize the tool:

  • BACKUP_ROOT_PATH=/path/to/folder to define the root folder in which backups should be stored.
  • NO_NETWORK_SWITCH=1 to use idevicebackup2 over USB and not network.
  • HC_ENDPOINT = "https://hc-ping.com/<ping-key>/" to ping a HealthChecks instance on backup finishing/failing. You should create a task in advance in your HealthChecks instance with a slug matching the slug of your device name (displayed at the beginning of the backup task). Relevant doc: https://blog.healthchecks.io/2021/09/new-feature-slug-urls/.

License

The content of this repository is licensed under an MIT license, unless explicitly mentionned otherwise.