# B2 Backblaze Backup Status

**Last Verified**: March 11, 2026  
**B2 Endpoint**: `s3.us-west-004.backblazeb2.com`  
**B2 Credentials**: `~/.b2_env` on homelab VM

---

## Bucket Summary

| Bucket | Host | Last Backup | Status |
|--------|------|-------------|--------|
| `vk-atlantis` | Atlantis (DS1823xs+) | 2026-03-11 | ✅ Healthy |
| `vk-concord-1` | Calypso (DS723+) | 2026-03-10 | ✅ Healthy |
| `vk-setillo` | Setillo (DS223j) | 2026-03-10 | ✅ Healthy |
| `vk-portainer` | Portainer backups (homelab VM) | 2026-03-10 daily | ✅ Active (encrypted .tar.gz) |
| `vk-mattermost` | Mattermost | — | ❌ Empty — not configured |
| `vk-games` | Unknown | — | Not verified |
| `vk-guava` | Unknown | — | Not verified |
| `b2-snapshots-*` | Unknown | — | Not verified |

---

## Hyper Backup Configurations (per host)

### Atlantis (DS1823xs+)

**Current Hyper Backup tasks** → bucket `vk-atlantis`:
- `/volume1/docker` — container data
- `/volume1/media` — media library
- `/volume1/photos` — photo library
- `/volume1/documents` — Paperless-NGX docs
- `/volume1/archive` — long-term archival (includes `paperless/` subfolder)
- `/volume2/` — NVMe volume data

**Recommended additions / changes:**
- ✅ Add `/volume2/photo/MobileBackup` (mobile photo backups)
- ❌ Remove `/downloads` if it's still in the task (redundant, large, rebuildable)
- Note: Paperless backup is already covered via `/volume1/archive/paperless/` (moved from `/volume2/backups/` this session)

### Calypso (DS723+)

**Current Hyper Backup tasks** → bucket `vk-concord-1`:
- `/volume1/docker` (partial — some subfolders excluded)

**Recommended additions:**
- `/docker/authentik` — SSO data and config
- `/docker/paperlessngx` — document management
- `/docker/immich` — photo library metadata
- `/docker/nginx-proxy-manager` — proxy config and SSL certs
- `/docker/headscale` — Headscale database and keys (critical!)
- `/docker/actual` — personal finance data
- `/blah/photos_backup_vish` — photo backup

### Setillo (DS223j) — Tucson, AZ

**Current Hyper Backup tasks** → bucket `vk-setillo`:
- `/volume1/backups` — backup destination

**Recommended additions:**
- `/homes/Setillo/Documents` — Edgar's documents (~114GB, Edgar.tar.gz)
- `/homes/vish/media` — vish media folder

**Recommended removals:**
- `/docker` — all containers are rebuildable, saves B2 cost

---

## Portainer Backup (vk-portainer)

Automated daily backups of all Portainer stack configurations:
- **Format**: Encrypted `.tar.gz` archives
- **Retention**: Multiple daily snapshots
- **Source**: Portainer backup API on homelab VM
- **Destination**: `vk-portainer` bucket

---

## Checking Bucket Status

```bash
# Source credentials
source ~/.b2_env

# List all buckets
aws s3 ls --endpoint-url https://s3.us-west-004.backblazeb2.com

# Check bucket contents / recent uploads
aws s3 ls s3://vk-atlantis/ --endpoint-url https://s3.us-west-004.backblazeb2.com --recursive | sort | tail -20

# Check bucket size
aws s3api list-objects-v2 --bucket vk-atlantis \
  --endpoint-url https://s3.us-west-004.backblazeb2.com \
  --query "sum(Contents[].Size)" --output text
```

---

## Mattermost Backup (vk-mattermost)

This bucket exists but is empty. Mattermost runs on `matrix-ubuntu` VM on Atlantis.
To configure, add a Hyper Backup task from Atlantis targeting:
- `/volume1/docker/mattermost` (config, database dumps)

Or configure a Mattermost-native backup export and push to B2 directly.

---

## Notes

- All active buckets use `us-west-004` region (Backblaze B2)
- Hyper Backup on Synology hosts handles encryption before upload
- B2 API key is stored in `~/.b2_env` and is compatible with AWS CLI S3 API
- The `sanitize.py` script redacts B2 credentials before public repo mirroring
