{% extends "base.html" %} {% block title %}Backups - SQLite Admin{% endblock %} {% block content %}

๐Ÿ”ง HF Setup Diagnostics

{% for check in hf_diagnosis.checks %}
{{ check.name }} {{ check.status }} {{ check.value }}
{% endfor %}
{{ hf_diagnosis.overall_status }}

Database Status

Integrity {{ health.integrity }}
Size {{ health.db_size_mb }} MB

Create Backup

Create a backup of your database. Backups are stored locally and can be uploaded to HF Bucket for persistence.

๐Ÿ“ Local Snapshots

Directory: {{ backups.snapshot_dir }}
HF Bucket Repo: {{ backups.hf_bucket_repo }}
HF Token: {% if backups.hf_token_set %}โœ… Set{% else %}โŒ Not Set{% endif %}

{% if backups.local_snapshots %} {% for snapshot in backups.local_snapshots %} {% endfor %}
Filename Size Modified Actions
{{ snapshot.name }} {{ snapshot.size_mb }} MB {{ snapshot.modified }} โฌ‡๏ธ Download
{% else %}

No local snapshots yet. Create one above!

{% endif %}

๐Ÿงช Quick Test

Use these API endpoints to test backup functionality:

GET /admin/api/diagnostics - Check HF setup
POST /admin/api/backup/test - Test backup creation
POST /admin/api/backup/upload - Upload to HF Bucket

๐Ÿ“š 3-Layer Backup Strategy

Layer 1: Litestream (Automatic)

Real-time replication to local file. Catches every write with max 1 second data loss.

Layer 2: Python sqlite3.backup()

On-demand atomic snapshots. Consistent backups while DB is in use. Compressed with gzip.

Layer 3: HF Bucket Upload

Persistent storage on HuggingFace. 100GB free private storage. Survives container restarts.

{% endblock %}