tanyar09 09ee8712aa feat: extend people search to first/middle/last/maiden names and fix port binding issue
- Backend: Updated list_people_with_faces to search by first_name, middle_name, last_name, and maiden_name
- Frontend: Updated Modify page search UI and API client to support extended search
- Frontend: Updated Help page documentation for new search capabilities
- Infrastructure: Added start-api.sh wrapper script to prevent port 8000 binding conflicts
- Infrastructure: Updated PM2 config with improved kill_timeout and restart_delay settings
2026-02-05 16:57:47 +00:00
..

Scripts Directory

This directory contains utility scripts organized by purpose.

Directory Structure

db/ - Database Utilities

Database management and migration scripts:

  • drop_all_tables.py - Drop all database tables
  • drop_all_tables_web.py - Drop all web database tables
  • grant_auth_db_permissions.py - Grant permissions on auth database
  • migrate_sqlite_to_postgresql.py - Migrate from SQLite to PostgreSQL
  • recreate_tables_web.py - Recreate web database tables
  • show_db_tables.py - Display database table information

debug/ - Debug and Analysis Scripts

Debugging and analysis tools:

  • analyze_all_faces.py - Analyze all faces in database
  • analyze_pose_matching.py - Analyze face pose matching
  • analyze_poses.py - Analyze face poses
  • check_database_tables.py - Check database table structure
  • check_identified_poses_web.py - Check identified poses in web database
  • check_two_faces_pose.py - Compare poses of two faces
  • check_yaw_angles.py - Check face yaw angles
  • debug_pose_classification.py - Debug pose classification
  • diagnose_frontend_issues.py - Diagnose frontend issues
  • test_eye_visibility.py - Test eye visibility detection
  • test_pose_calculation.py - Test pose calculation

utils/ - Utility Scripts

General utility scripts:

  • fix_admin_password.py - Fix admin user password
  • update_reported_photo_status.py - Update reported photo status

Root-Level Scripts

Project-specific scripts remain in the repository root:

  • install.sh - Installation script
  • run_api_with_worker.sh - Start API with worker
  • start_backend.sh - Start backend server
  • stop_backend.sh - Stop backend server
  • run_worker.sh - Run RQ worker
  • demo.sh - Demo helper script

Database Shell Scripts

Database-related shell scripts remain in scripts/:

  • drop_auth_database.sh - Drop auth database
  • grant_auth_db_delete_permission.sh - Grant delete permissions
  • setup_postgresql.sh - Set up PostgreSQL

Log Management Scripts

Quick access to service logs for troubleshooting:

  • check-logs.sh - Check recent errors from all services
  • tail-errors.sh - Follow error logs in real-time
  • view-recent-errors.sh - View errors from the last N minutes (default: 10)
  • setup-log-rotation.sh - Configure PM2 log rotation to prevent log bloat

Quick Usage

# Check all service logs for recent errors
./scripts/check-logs.sh

# Follow error logs in real-time (Ctrl+C to exit)
./scripts/tail-errors.sh

# View errors from last 10 minutes
./scripts/view-recent-errors.sh

# View errors from last 30 minutes
./scripts/view-recent-errors.sh 30

# Setup log rotation (run once)
./scripts/setup-log-rotation.sh

Log Locations:

  • All logs: /home/appuser/.pm2/logs/
  • API errors: /home/appuser/.pm2/logs/punimtag-api-error.log
  • Worker errors: /home/appuser/.pm2/logs/punimtag-worker-error.log
  • Admin errors: /home/appuser/.pm2/logs/punimtag-admin-error.log
  • Viewer errors: /home/appuser/.pm2/logs/punimtag-viewer-error.log

Usage

Most scripts can be run directly:

# Database utilities
python scripts/db/show_db_tables.py

# Debug scripts
python scripts/debug/analyze_all_faces.py

# Utility scripts
python scripts/utils/fix_admin_password.py

Some scripts may require environment variables or database connections. Check individual script documentation or comments for specific requirements.