ffxiv-config-backup-restore/README_UI.md

3.1 KiB

FFXIV Backup Restore UI

A Windows-native PyQt6 GUI for the FFXIV backup restore script.

Features

  • Settings Tab: Configure Nextcloud credentials and local paths
  • Restore Tab: Select backup and monitor restore progress in real-time
  • Single Executable: Packaged with PyInstaller for easy distribution
  • Threading: Non-blocking UI during restore operations
  • Status Output: Real-time console output display

Requirements

  • Python 3.8+
  • Windows (tested on Windows 11)
  • 7z command-line tool (for extraction)

Installation

1. Install Python Dependencies

pip install -r requirements.txt

2. Verify 7z is installed

The script requires 7z for extraction. Install it or ensure it's in your PATH.

Usage

Development (Running from source)

python restore_ui.py

Building Executable

Run the build script:

build.bat

Or manually with PyInstaller:

pyinstaller restore_ui.spec

The executable will be created in the dist\ directory.

Configuration

Configuration is loaded from .env file in the same directory as the script. The file contains:

  • NC_URL: Nextcloud server URL
  • NC_USER: Nextcloud username
  • NC_PASS: Nextcloud password
  • NC_TEMP_DOWNLOAD: Path to store downloaded .7z file
  • TEMP_EXTRACT_PATH: Path to extract backup contents
  • TEMP_BACKUP_PATH: Directory to store local backups
  • PLUGIN_CONFIGS_PATH: XIVLauncher plugin config directory
  • FFXIV_CONFIGS_PATH: FFXIV game config directory

Usage Steps

  1. Configure Settings (if needed):

    • Open "Settings" tab
    • Verify Nextcloud credentials and paths
    • Click outside tab to save (settings are read from .env on startup)
  2. Restore Backup:

    • Open "Restore" tab
    • Enter remote archive path (e.g., Backups/FFXIV/Desktop/backup_file.7z)
    • Click "Start Restore"
    • Monitor progress in output window
  3. View Results:

    • Success/error message appears upon completion
    • Output can be cleared with "Clear Output" button

Troubleshooting

Missing Dependencies

If you get import errors, run: pip install -r requirements.txt

7z not found

Ensure 7z is installed and in your system PATH

Nextcloud Connection Failed

  • Verify NC_URL is correct (including https://)
  • Check username and password are correct
  • Ensure network connection to Nextcloud server

PyInstaller Build Issues

If the .spec file fails:

  • Delete build/ and dist/ directories
  • Rebuild: pyinstaller restore_ui.spec

Distributing the Executable

Once built, the executable (dist\FFXIV-Backup-Restore.exe) can be:

  • Copied to any Windows system with .NET Framework (included in Windows)
  • Distributed as a single file
  • No Python installation required on target system
  • Requires .env file in same directory as executable

Notes

  • The UI runs the original restore_backup.py script in a background thread
  • All output is captured and displayed in the UI
  • Settings tab is for informational purposes (values are read from .env at startup)
  • To update settings, edit .env file directly and restart the application