airvault

airvault

Docker app from Wizier'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. Authorization: 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, downloaded backup names and automatic-backup windows
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 tests
make lint           # Go 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 and Node; the complete check also needs golangci-lint. The binary is pure Go (CGO_ENABLED=0).

License

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

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/wizier/airvault
Last Updated2026-10-31
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