Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt

Use this file to discover all available pages before exploring further.

Last Updated: 2026-01-21
Purpose: Procedures for backing up and recovering production data

Overview

This document covers backup and recovery procedures for the Encore Health OS Platform production environment.

Backup Strategy

Database Backups

Automatic Backups:
  • Supabase provides automatic daily backups
  • Backups retained for 7 days (configurable)
  • Point-in-time recovery available
Manual Backups:
  • Create manual backup before major changes
  • Export critical data before migrations
  • Document backup purpose and scope

Application Backups

Code:
  • Git repository serves as code backup
  • Tag releases for version control
  • Maintain release branches
Configuration:
  • Environment variables backed up securely
  • Configuration files in version control
  • Document configuration changes

Backup Procedures

Database Backup

Automatic (Supabase):
  • Daily backups run automatically
  • No manual action required
  • Backups stored securely
Manual Backup (If Needed):
# Export database schema
supabase db dump --schema public -f backup-schema.sql

# Export data (if needed)
supabase db dump --data-only -f backup-data.sql
Verification:
  • Verify backup file created
  • Check backup file size (should be >0)
  • Test backup restoration in staging

Application Backup

Code Backup:
  • Git provides version control
  • Tag releases: git tag -a v1.0.0 -m "Release v1.0.0"
  • Maintain release branches
Configuration Backup:
  • Document all environment variables
  • Store securely (password manager)
  • Version control non-sensitive config

Recovery Procedures

Database Recovery

Point-in-Time Recovery:
  1. Identify recovery point
  2. Contact Supabase support or use dashboard
  3. Specify recovery timestamp
  4. Verify recovered data
  5. Test application with recovered data
Full Database Restore:
  1. Stop Application:
    • Disable new user registrations
    • Notify users if needed
    • Prepare for downtime
  2. Restore Database:
    # Restore from backup file
    supabase db reset --linked
    # Then restore from backup file
    psql < backup-file.sql
    
  3. Verify Restoration:
    • Check data integrity
    • Verify critical tables
    • Test application functionality
  4. Resume Operations:
    • Re-enable features
    • Notify users
    • Monitor for issues

Application Recovery

Code Rollback:
  1. Identify previous working version
  2. Revert code changes
  3. Redeploy previous version
  4. Verify application works
Configuration Recovery:
  1. Restore environment variables
  2. Update configuration files
  3. Redeploy application
  4. Verify configuration applied

Recovery Testing

Testing Schedule

Frequency:
  • Test backup restoration quarterly
  • Test recovery procedures annually
  • Document test results

Testing Procedure

  1. Prepare Test Environment:
    • Use staging environment
    • Create test backup
    • Document test scenario
  2. Execute Recovery:
    • Follow recovery procedures
    • Document any issues
    • Measure recovery time
  3. Verify Recovery:
    • Verify data integrity
    • Test application functionality
    • Verify performance
  4. Document Results:
    • Recovery time
    • Issues encountered
    • Improvements needed

Backup Verification

Daily Checks

  • Verify automatic backups running
  • Check backup storage available
  • Review backup logs for errors

Weekly Checks

  • Review backup retention policy
  • Verify backup accessibility
  • Test backup file integrity (sample)

Monthly Checks

  • Full backup restoration test
  • Review recovery procedures
  • Update documentation

Recovery Time Objectives (RTO)

Critical Systems:
  • Database: <1 hour
  • Application: <15 minutes
  • Configuration: <30 minutes
Non-Critical Systems:
  • Reports: <4 hours
  • Analytics: <24 hours
  • Archived data: <48 hours

Data Retention

Production Data:
  • Active data: Indefinite (with backups)
  • Archived data: Per retention policy
  • Audit logs: 7 years (compliance)
Backup Retention:
  • Daily backups: 7 days
  • Weekly backups: 4 weeks
  • Monthly backups: 12 months

Disaster Recovery

Complete System Failure

Scenario: Complete system failure requiring full restoration Procedure:
  1. Assess Damage:
    • Identify what’s affected
    • Determine recovery scope
    • Estimate recovery time
  2. Recovery Steps:
    • Restore database from backup
    • Redeploy application
    • Restore configuration
    • Verify system operational
  3. Verification:
    • Test all critical features
    • Verify data integrity
    • Performance testing
    • User acceptance

Partial System Failure

Scenario: Single component failure (database, application, etc.) Procedure:
  1. Isolate Issue:
    • Identify failed component
    • Assess impact
    • Plan recovery
  2. Recovery:
    • Restore failed component
    • Verify integration
    • Test functionality

Backup Storage

Location:
  • Supabase managed backups (automatic)
  • Additional backups: Secure cloud storage (if configured)
Security:
  • Encrypted at rest
  • Access-controlled
  • Regular security audits

Contact Information

Backup/Recovery Support: Emergency Recovery:
  • On-Call Engineer: [Contact]
  • DevOps Lead: [Contact]

Last Updated: 2026-01-21
Review Frequency: Quarterly