# Backups & disaster recovery

### What gets backed up

HAProxy backup job captures:

- `<span class="md-inline-path-prefix">/etc/haproxy/</span><span class="md-inline-path-filename">haproxy.cfg</span>` and `conf.d/*.cfg`
- `<span class="md-inline-path-prefix">/etc/haproxy/certs/</span><span class="md-inline-path-filename">*</span>`
- Let’s Encrypt material under `<span class="md-inline-path-prefix">/etc/letsencrypt/</span>`
- Paths referenced by `ssl crt` in config under `<span class="md-inline-path-prefix">/etc/</span>`
- Optional <span class="font-semibold" data-streamdown="strong">UFW</span> rules (`<span class="md-inline-path-filename">backup.ufw</span>`) — separate job

Storage: <span class="font-semibold" data-streamdown="strong">Per member S3</span>.

Path pattern:

<div class="composer-message-codeblock" id="bkmrk-%2F%7Buserid%7D%2Fsites%2F%7Bsit"><div class="ui-code-block"><div class="ui-code-block-content"><div class="ui-scroll-area" data-direction="horizontal" data-scroll-padding="4" data-visibility="hover"><div class="ui-scroll-area__viewport"><div class="ui-scroll-area__content"><div class="ui-default-code ui-code-block-default-code"><div class="ui-default-code__content"><div class="ui-default-code__line"><div class="ui-default-code__line-content">/{userId}/sites/{siteId}/snapshots/{snapshotId}/</div></div></div></div></div></div></div></div></div></div>### Restore flows

<span class="font-semibold" data-streamdown="strong">Same member:</span> Restore Backups tab → pick snapshot → scoped restore → agent validates with `haproxy -c` → reload.

<span class="font-semibold" data-streamdown="strong">Cross-member (DR tab):</span> Restore another member’s snapshot to a target VM — typically after an outage or a bad config push.

<span class="font-semibold" data-streamdown="strong">Fresh VM rebuild:</span>

1. Enrol new/replacement member
2. Optional: Install HAProxy
3. Restore snapshot
4. Make active when ready

### Standby provisioning

<span class="font-semibold" data-streamdown="strong">Provision standby from backup</span> clones, HAProxy config from a backup onto a standby host — faster than manual copy for DR drills.