airvault
Docker app from Wizier's Repository
Overview
Readme
View on GitHubAirVault - 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 allDetails
ghcr.io/wizier/airvaultRuntime arguments
- Web UI
http://[IP]:[PORT:32298]- Network
host- Shell
sh- Extra Params
--device-cgroup-rule='c 189:* rmw'
Template configuration
Folder the backups are written to — pick one on the array
- Target
- /backups
Port used by the AirVault web interface
- Target
- AIRVAULT_PORT
- Default
- 32298
- Value
- 32298
Password for the airvault user; Leave blank to generate one
- Target
- AIRVAULT_AUTH_TOKEN
Settings, database and iPhone pairing records
- Target
- /config
- Default
- /mnt/user/appdata/airvault
- Value
- /mnt/user/appdata/airvault
Timezone used for log timestamps
- Target
- TZ
- Default
- Etc/UTC
- Value
- Etc/UTC
AirVault log detail: debug, info, warn, or error
- Target
- AIRVAULT_LOG_LEVEL
- Default
- info
- Value
- info
iPhone connection-service log detail: trace, debug, info, warn, or error
- Target
- AIRVAULT_MUX_LOG_LEVEL
- Default
- warn
- Value
- warn
Passes USB-connected iPhones through to the container for pairing
- Target
- /dev/bus/usb
- Default
- /dev/bus/usb
- Value
- /dev/bus/usb
Read-only access to host USB events, allowing AirVault to detect an iPhone connected
- Target
- /run/udev
- Default
- /run/udev
- Value
- /run/udev
Backups and settings are written as this user ID; 99 = nobody
- Default
- 99
- Value
- 99
Group ID for written files; 100 = users
- Default
- 100
- Value
- 100
Permission mask for newly created files
- Default
- 022
- Value
- 022