airvault

airvault

Docker app from airvault's Repository

Overview

Self-hosted iPhone backups for your Unraid server. Pair an iPhone once over USB, then back it up over Wi-Fi or USB to a local share. AirVault provides incremental, versioned backups, selectable restore points, optional backup encryption, and a web UI for backup and restore. FIRST RUN: set a Web UI token below or read the generated token from the container log, then sign in

AirVault - Self-hosted, wireless iPhone backups

Quick start

docker compose up -d

Volumes

Container path Holds Put it on
/config settings, database, pairing records app-data storage
/backups the backups a share with room to grow

Nothing else needs to persist.

Configuration

Variable Default Purpose
AIRVAULT_PORT 8080 Web UI port
AIRVAULT_AUTH_TOKEN (generated) Web UI password; when unset, the stored one is printed in the log
AIRVAULT_LOG_LEVEL info debug / info / warn / error
TZ Etc/UTC Timezone for log timestamps
PUID / PGID (unset — run as root) Backups and settings are written as this uid:gid (99/100 on Unraid; id shows yours)
UMASK (unset) Permission mask for files the container creates

Paths can be overridden with AIRVAULT_CONFIG_DIR, AIRVAULT_BACKUP_DIR and AIRVAULT_LOCKDOWN_DIR.

Turning PUID on for an install that already ran as root needs a one-time chown -R <uid>:<gid> of the backups folder; new files are owned correctly from then on.

Building from source

make build          # production binary
make test           # Go and Rust tests
make lint           # Go, Rust and Svelte static analysis
make check          # complete local/CI gate
make dev            # live-reload daemon and UI
make docker-build   # local container image

Builds need Go, Rust (pinned in rust-toolchain.toml) and Node. The complete check also needs golangci-lint and cbindgen 0.29.4.

License

GNU General Public License v3.0 or later — see LICENSE.

Install Airvault on Unraid in a few clicks.

Find Airvault in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Airvault Review the template variables and paths Click Install

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/wizier/airvault:latest
Last Updated2026-08-03
First Seen2026-08-03

Runtime arguments

Web UI
http://[IP]:[PORT:32298]
Network
host
Shell
sh
Extra Params
--device-cgroup-rule='c 189:* rmw'

Template configuration

Backups directoryPathrw

Folder the backups are written to — pick one on the array

Target
/backups
Web UI PortVariable

Port used by the AirVault web interface

Target
AIRVAULT_PORT
Default
32298
Value
32298
Web UI TokenVariable

Password for the airvault user; Leave blank to generate one

Target
AIRVAULT_AUTH_TOKEN
Application DataPathrw

Settings, database and iPhone pairing records

Target
/config
Default
/mnt/user/appdata/airvault
Value
/mnt/user/appdata/airvault
TimezoneVariable

Timezone used for log timestamps

Target
TZ
Default
Etc/UTC
Value
Etc/UTC
Application Log LevelVariable

AirVault log detail: debug, info, warn, or error

Target
AIRVAULT_LOG_LEVEL
Default
info
Value
info
Connection Log LevelVariable

iPhone connection-service log detail: trace, debug, info, warn, or error

Target
AIRVAULT_MUX_LOG_LEVEL
Default
warn
Value
warn
USB DevicesPathrw

Passes USB-connected iPhones through to the container for pairing

Target
/dev/bus/usb
Default
/dev/bus/usb
Value
/dev/bus/usb
USB Hotplug EventsPathro

Read-only access to host USB events, allowing AirVault to detect an iPhone connected

Target
/run/udev
Default
/run/udev
Value
/run/udev
PUIDVariable

Backups and settings are written as this user ID; 99 = nobody

Default
99
Value
99
PGIDVariable

Group ID for written files; 100 = users

Default
100
Value
100
UMASKVariable

Permission mask for newly created files

Default
022
Value
022