Server backup drivers
Where FeatherWings stores per-server backups, how to send them to Proxmox Backup Server, and the config.yml keys for compression, limits and ignore files.
On this page
These are the backups users create from a server’s Backups page, or that schedules and backup policies create for them. For an archive of a whole node see Node backups.
How the destination is chosen
The destination is set per node by the administrator, not per backup. When a backup starts, the panel calls
GET /api/system/backups on Wings:
- If
system.backups.pbs.enabledistrueand a repository or datastore is set, the backup goes to Proxmox Backup Server. - Otherwise it is a local archive on the node (adapter
wings).
The adapter is stored with the backup, so a backup made before you switched destinations is still restored from the place it was written to.
Local archives
Local backups are .tar.gz files in system.backup_directory (default /var/lib/featherpanel/backups).
system:
backup_directory: /var/lib/featherpanel/backups
backups:
compression_level: best_speed # none, best_speed (gzip 1) or best_compression (gzip 9)
write_limit: 0 # MiB/s, 0 for no limit
remove_backups_on_server_delete: true
restore_host_allowlist: []
restore_host_allowlist lets a restore download from hosts that are otherwise blocked as private or internal. Entries
can be hostnames, IP addresses or CIDR ranges.
Proxmox Backup Server
Install proxmox-backup-client on the node, then fill in system.backups.pbs:
system:
backups:
pbs:
enabled: true
repository: "backup@[email protected]:datastore"
password: "<API token secret>"
fingerprint: "" # optional certificate pin, leave empty for a trusted certificate
namespace: featherpanel
change_detection_mode: metadata
# keyfile: /etc/featherpanel/pbs.key
# encryption_password: ""
Instead of repository you can set server, port, datastore and auth_id. Wings passes the password,
fingerprint and encryption password to the client as PBS_PASSWORD, PBS_FINGERPRINT and PBS_ENCRYPTION_PASSWORD.
Each backup becomes a snapshot in the group ct/<server uuid> inside the namespace, with the server files in a pxar
archive named by archive_name (default root.pxar). Restart Wings after changing the file. Every key is in the
config.yml reference.
Ignored files
Users can list paths to leave out when they create a backup. Wings also reads an ignore file in the root of the server,
in this order: .featherpanelignore, then .pelicanignore, then .pteroignore. Only the first one found is used, so
servers migrated from Pelican or Pterodactyl keep their rules.
Other daemons
Nodes that run Calagopus Wings have their own drivers (for example S3, restic, btrfs or ZFS). The panel uses the default adapter that daemon reports. Everything above describes FeatherWings.
Frequently asked questions
No. The panel asks Wings for its default destination and uses it for every new backup on that node. Users only pick a name and ignored files.
Not with FeatherPanel today. The panel endpoint that would hand out S3 upload URLs is not implemented, and FeatherWings only reports the local and PBS destinations. Use PBS, or copy the backup directory to S3 yourself.