ffxiv-config-backup-restore/README_UI.md

116 lines
3.1 KiB
Markdown

# 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
```bash
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)
```bash
python restore_ui.py
```
### Building Executable
Run the build script:
```bash
build.bat
```
Or manually with PyInstaller:
```bash
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