Docker
Add a backuparr service to the compose file that already defines your apps, so it shares their network and can reach them by name.
services:
backuparr:
image: rsaturns/backuparr:latest
container_name: backuparr
restart: unless-stopped
environment:
- TZ=America/Los_Angeles
- PUID=1000
- PGID=1000
# Optional - see Environment variables.
#- LOG_LEVEL=INFO
#- BACKUPARR_FORCE_HTTPS=true
#- BACKUPARR_DISABLE_AUTH=true
#- BACKUPARR_SECRETS_KEY=
#- RCLONE_CONFIG_PASS=
# Changing this also means updating the ports: mapping below.
#- WEBUI_PORT=8990
ports:
- "8990:8990"
volumes:
# config.json, rclone.conf, and local-destination backups.
- /share/Container/backuparr:/config/backuparr
# Optional: needed only to restore Bazarr - path to its config/backup folder.
#- /share/Container/bazarr/backup:/mnt/bazarr-backup
# Needed to back up Jellyfin - its backups folder (see the Jellyfin note).
#- /share/Container/jellyfin/config/data/backups:/mnt/jellyfin-backups
# Needed to back up Emby - its /config folder (see the Emby note).
#- /share/Container/emby/config:/mnt/emby:ro
# Needed to back up Plex - its "Plex Media Server" folder (see the Plex note).
#- "/share/Container/plex/Library/Application Support/Plex Media Server:/mnt/plex:ro"
# Needed to back up Seerr - its /app/config folder (see the Seerr note).
#- /share/Container/seerr/config:/mnt/seerr:ro
docker compose up -d
Or without Compose:
docker run -d --name backuparr --restart unless-stopped \
-e TZ=America/Los_Angeles -e PUID=1000 -e PGID=1000 \
-p 8990:8990 \
-v /share/Container/backuparr:/config/backuparr \
rsaturns/backuparr:latest
Published for linux/amd64 and linux/arm64. latest is the newest tagged release; pin a version (e.g. rsaturns/backuparr:1.10.2) to control upgrades. Tags are on Docker Hub, and the same images are on GitHub Container Registry as ghcr.io/rsaturns/backuparr.
The optional settings are explained under Environment variables, and the extra volumes in the notes for Bazarr, Jellyfin, Emby, Plex and Seerr.
Then go through the first run.