Files
TimeTracker/docs/admin/README.md
T
Dries Peeters 1ddea89d40 Harden full-database restore and document operational behaviour
Admin restore runs in a background thread; the finally block must not use current_app.logger outside an application context. Use the captured Flask app instance for safe_file_remove logging instead.

While restore_backup runs (extract through Alembic upgrade), set a per-app _database_restore_in_progress flag and expose is_database_restore_in_progress(). The client portal blueprint registers a global app_context_processor; get_current_client() now skips database access during restore and catches SQLAlchemy errors with session rollback so error pages and login can still render when the schema is briefly torn on PostgreSQL.

Documentation: add docs/admin/BACKUP_AND_RESTORE.md, link it from the admin index and import/export docs, cross-reference from DATABASE_RECOVERY.md, and extend IMPORT_EXPORT_GUIDE.md with concurrent-restore guidance.
2026-05-11 07:13:04 +02:00

1.7 KiB

Administrator Documentation

Complete guides for TimeTracker administrators.

Configuration

Deployment

Security

Monitoring

Backup and disaster recovery

🔧 Common Tasks

  1. Initial Setup: Start with Docker Compose Setup
  2. Configure Email: See Email Configuration
  3. Set Up OIDC/SSO: Follow OIDC Setup
  4. Monitor System: Check monitoring/ documentation