Backups and Data Management
Protect your self-hosted Glassy data with automated daily backups, optional AES-256-GCM encryption, manual backup and restore, and storage monitoring.
Before you start
- self-hosting/01-deploying-with-docker
What you'll learn
- Understand the automatic daily backup schedule
- Configure backup encryption
- Perform a manual backup
- Restore from a backup
- Know what is and isn't included in backups
Reference documentation
Read the technical docs for this feature →Backups are critical for any self-hosted setup. Glassy handles this automatically, but understanding the system helps you recover confidently when you need to.
Automatic daily backups
Glassy creates an automatic backup of your SQLite database every day at 02:00 server time. No setup required.
- Frequency: Every 24 hours
- Time: 2:00 AM server time
- Location:
/app/data/backups/(inside theglassy-datavolume, accessible at~/.GLASSYDASH_CLEAR/backups/on the host or wherever your volume is mounted) - Format:
notes-YYYY-MM-DDTHH-MM-SS.db - Retention: ~7 days retained by default (configurable)
What is backed up
The backup contains a complete copy of the SQLite database (notes.db), which includes:
- All notes, bookmarks, and captures
- User account and settings
- Tags and collections
- AI query history
- Agent activity logs
- Webhook delivery logs
What is NOT backed up
Backup encryption
For encrypted on-demand backups, set BACKUP_ENCRYPTION_KEY in your .env:
BACKUP_ENCRYPTION_KEY=$(openssl rand -hex 32)
When set, on-demand backups you trigger manually are encrypted with AES-256-GCM. Automatic daily backups remain unencrypted (they’re internal to the volume).
Manual backup
From the admin panel
Open Admin → Backups
Sign in as admin → Account HUD → Admin → Backups.
Create backup now
Click Create backup now. A backup is created immediately and appears in the list.
From the command line
docker compose exec glassy \
node -e "require('./server/services/backupService.js').createBackup()"
The backup file appears in the backups/ directory inside the data volume.
Manual restore
Stop the container
docker compose down Replace the database file
cp ~/.GLASSYDASH_CLEAR/backups/notes-2026-07-13T02-00-00.db \
~/.GLASSYDASH_CLEAR/notes.dbAdjust the path to match your actual data volume mount and the backup filename.
Restart
docker compose up -dThe container starts with the restored database.
Storage monitoring
Check your storage usage in the Account HUD — it shows used vs. total capacity. The bar turns amber when you’re near the limit.
On the self-hosted appliance, storage caps can be configured via environment variables:
LIFETIME_STORAGE_MB— storage limit for theclear_lifetimetierPRO_STORAGE_MB— storage limit for the Pro tier
If not set, defaults apply. Adjust these in your .env if you want a different cap.
Best practices
What’s next?
Learn about upgrades and troubleshooting — keeping Glassy updated with Watchtower and diagnosing common issues.