Commit graph

16 commits

Author SHA1 Message Date
zaphod-black
583a289523 Update README with Docker quick start and development warning
DOCUMENTATION UPDATE:

Added comprehensive Docker instructions to README:

CHANGES:
- Added "🚧 IN DEVELOPMENT" warning to Docker section
- Emphasized native Linux installer as stable production version
- Added step-by-step Quick Start instructions:
  1. Build the image
  2. Run container with volume mounts
  3. Configure via web UI
- Included examples for different backup paths
- Added "Configuration UI" to features list
- Clarified Settings page workflow

ORGANIZATION:
- Docker section appears AFTER all native Linux sections
- Clear warning that Docker is for testing/cross-platform use
- Native Linux positioned as primary, stable solution

This makes it clear to users:
- Native Linux = Production ready 
- Docker = Development/Testing 🚧

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 23:41:37 -06:00
zaphod-black
0746428435 Fix Docker web dashboard with Python HTTP server + blue/purple neon theme
PROBLEM SOLVED:
The netcat-based HTTP server had a fundamental bidirectional pipe issue:
- `( read method path ) | nc -l` only connects stdout→stdin in one direction
- The `read` command couldn't receive HTTP request data from nc
- All requests returned "Not found" despite correct routing logic

SOLUTION:
- Created api-server.py: Proper Python HTTP server using http.server
- Handles dashboard (GET /), status, health, logs, and backup trigger (POST)
- Full request/response handling with proper HTTP headers
- Replaces broken netcat approach with robust solution

DASHBOARD ENHANCEMENTS:
- Changed from green terminal theme to blue/purple neon aesthetic
  - Primary: #00d4ff (cyan blue)
  - Accent: #aa00ff (purple)
  - Background: #0a0a14 (dark blue-black)
- Increased all font sizes 2-4px for better readability
- Enhanced button padding and spacing
- More visible, high-contrast interface

TECHNICAL DETAILS:
- Dockerfile: Replaced netcat-openbsd with python3 dependency
- api-server.sh: Now simple wrapper that exec's Python script
- api-server.py: Full-featured HTTP server with JSON/HTML responses
- dashboard.html: Updated color scheme and typography

TESTING:
 Dashboard loads at http://localhost:8080/
 /status endpoint returns JSON
 /health endpoint working
 /logs endpoint working
 Real-time backup monitoring ready

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 23:25:10 -06:00
zaphod-black
fbe81d28ae Add Docker-based cross-platform solution (v1.2.0)
Major addition: Full Docker implementation for Windows, macOS, and Linux support

New Features:
- Docker container with PBS client in Debian environment
- Platform-specific docker-compose files (linux/windows/macos)
- Daemon mode with internal cron scheduler
- One-shot backup mode for manual execution
- Optional REST API server for remote management
- Health monitoring and status endpoints
- Automatic encryption key generation and management

Docker Structure:
- docker/Dockerfile - Container build definition
- docker/scripts/ - Entrypoint, backup, healthcheck, and API scripts
- docker/build.sh - Build script for Docker image
- docker/deploy.sh - Interactive deployment script
- docker/docker-compose-*.yml - Platform-specific configurations

Documentation:
- docker/README-DOCKER.md - Complete Docker documentation
- docker/QUICKSTART-DOCKER.md - Quick start guide
- docker/DOCKER-SOLUTION-SUMMARY.md - Architecture overview
- BACKUP-TYPES-GUIDE.md - File vs block device backup guide

Updated:
- README.md - Added cross-platform support section and platform matrix
- CHANGELOG.md - Documented all Docker features

This enables PBSClientTool to backup Windows and Mac systems via Docker,
while maintaining native Linux performance for full disk images.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 22:36:41 -06:00
zaphod-black
19cee4c6ce
Update README.md 2025-11-02 19:02:52 -06:00
zaphod-black
0186349d99 Docs: Major README simplification + dedicated troubleshooting guide
Reorganized documentation for better usability and maintenance.

CHANGES:

1. README.md simplified (750 → 243 lines):
   - Focused on quick start and essential usage
   - Removed redundant step-by-step sections
   - Removed duplicate explanations
   - Clearer structure with better hierarchy
   - Link to dedicated troubleshooting guide

2. New TROUBLESHOOTING.md (comprehensive guide):
   - Connection Issues:
     - Connection test script usage
     - 3-step failure diagnosis
     - SSL certificate handling
   - Permission Errors:
     - Missing Datastore.Backup permission
     - PBS web interface and CLI solutions
     - Required permissions explained
   - Installation Issues:
     - Ubuntu 22.04 libssl1.1 missing
     - Arch Linux libfuse3 errors
     - yay AUR helper installation
   - Backup Issues:
     - Backups not running diagnostics
     - "Skip mount point" explanation
     - No space left solutions
     - Encryption key problems
   - Multi-Target Issues:
     - Target connection test failures
     - Missing services
   - Configuration Issues:
     - Whitespace in configuration
     - Incomplete configuration warning
   - Advanced Troubleshooting:
     - Verbose logging
     - Manual testing
     - PBS server logs
     - Network timeout solutions
   - Common Misconfigurations:
     - Token format examples
     - Datastore name case-sensitivity
     - Repository string format
     - Permission path format

BENEFITS:
- Faster onboarding (README focused on getting started)
- Easier problem-solving (dedicated troubleshooting guide)
- Better maintainability (separate concerns)
- Improved searchability (detailed error solutions)
- Professional documentation structure

README now covers:
- Features and quick start
- Prerequisites (simplified)
- Basic usage
- Multi-target management
- Backup types explained
- Encryption key best practices
- Updating and uninstallation

TROUBLESHOOTING covers:
- All error messages and solutions
- Step-by-step diagnostic procedures
- Advanced configuration options
- Common pitfalls and how to avoid them

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 00:58:38 -05:00
zaphod-black
1e930c2775 Feature: System-wide installation with PBSClientTool command
Added ability to install the script system-wide, making it available
as a command from anywhere on the system. No more need to navigate
to the script directory or remember the path.

NEW FEATURES:

1. Command-line argument support:
   - --install     : Install to /usr/local/bin/PBSClientTool
   - --uninstall   : Remove from system (keeps configs)
   - --help, -h    : Show comprehensive help message
   - --version, -v : Show version information
   - (no args)     : Run interactive menu (default)

2. Installation function (install_script):
   - Detects if already installed
   - Asks for confirmation before overwriting
   - Copies script to /usr/local/bin/PBSClientTool
   - Sets executable permissions
   - Shows usage examples after installation

3. Uninstallation function (uninstall_script):
   - Removes /usr/local/bin/PBSClientTool
   - Preserves backup targets and configurations
   - Warns about difference vs complete removal (uninstaller.sh)
   - Requires confirmation before proceeding

4. Help system:
   - Comprehensive --help message with examples
   - Documents all command-line options
   - Shows features and documentation link
   - Formatted for easy reading

IMPLEMENTATION:
- Added SCRIPT_NAME and INSTALL_PATH constants (lines 13-14)
- Added install_script() function (lines 1995-2032)
- Added uninstall_script() function (lines 2035-2067)
- Added show_help() function (lines 2070-2113)
- Added show_version() function (lines 2116-2118)
- Added argument parsing before main() (lines 2325-2348)
- Updated README with installation instructions
- Updated CHANGELOG with new features

USAGE EXAMPLES:

Install to system:
  cd PBSClientTool
  sudo ./pbs-client-installer.sh --install

Run from anywhere:
  sudo PBSClientTool

Show help:
  sudo PBSClientTool --help

Uninstall:
  sudo PBSClientTool --uninstall

Update after git pull:
  git pull
  sudo ./pbs-client-installer.sh --install  # Overwrites old version

BENEFITS:
- More convenient access from any directory
- Follows standard Unix tool conventions
- Easy to update (git pull + reinstall)
- Safer workflow (don't need to cd into dev directory as root)
- Professional user experience

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 00:41:23 -05:00
zaphod-black
801b8649ba Rename project from PBSClientInstaller to PBSClientTool
- Updated README.md title
- Updated git clone URL in installation instructions
- Updated directory name in installation commands
- Reflects GitHub repository rename to PBSClientTool

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 19:08:09 -05:00
zaphod-black
93debf1e21 Update README and CHANGELOG with live progress monitoring documentation
Documentation improvements to showcase the new live backup progress
monitoring feature and make it easier for users to understand how
to run and monitor backups.

README.md Updates:

Step 13 - Optional Immediate Backup:
- Added example output showing live progress monitoring
- Shows the progress box, real-time stats, and completion
- Example includes file counts, transfer speeds, and timing
- Explains what users will see during backup
- Notes ability to exit with Ctrl+C

Reconfiguration Section:
- Updated to numbered list format for clarity
- Added option 4: "Run backup now" with description
- Explains what "Run backup now" provides:
  * Immediate backup testing
  * Live progress monitoring with real-time statistics
  * File counts, transfer speeds, compression ratios
  * Automatic completion detection
  * Option to exit early (backup continues)

Post-Installation → Manual Backup:
- Added "Easy way (with live progress)" section
- Shows how to use installer option 4 for backups
- Lists benefits: live monitoring, auto-completion, clear status
- Kept "Direct command" section for advanced users
- Makes it clear which method provides better UX

CHANGELOG.md Updates:
- Documented README changes in "Changed" section
- Listed all three sections that were updated
- Notes recommendation of easy method via installer

Impact:
Users now have clear documentation showing:
1. What live progress looks like during backups
2. How to access it (option 4 in main menu)
3. Why it's better than manual systemctl commands
4. What information they'll see in real-time

This makes the feature discoverable and encourages users to
use the built-in progress monitoring instead of manual log following.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 18:40:20 -05:00
zaphod-black
ac2480bc24 Add comprehensive installation walkthrough to README
DOCUMENTATION UPDATE: Added detailed step-by-step guide covering the
entire installation process from PBS server setup to completion.

README.md Changes:

Prerequisites Section (Expanded):
- How to create API tokens in PBS web interface
- How to configure datastore permissions
- Common permission error and how to fix it
- Information gathering checklist before running installer

New: Step-by-Step Walkthrough (14 Steps):
1. Running the installer
2. PBS server configuration (IP, port, datastore)
3. Authentication method selection (why API tokens)
4. Entering API token details
5. Backup type selection (files/block/hybrid)
6. File backup paths configuration
7. Block device selection and auto-detection
8. Backup schedule configuration
9. Retention policy settings
10. Encryption setup and key management
11. 3-step connection test process
12. Systemd service creation
13. Optional immediate backup
14. Completion summary

Each step includes:
- Example prompts and responses
- Explanation of options
- Recommendations and best practices
- Common device types and their paths
- Troubleshooting tips

CHANGELOG.md Updates:
- Documented new comprehensive walkthrough
- Listed PBS server setup documentation
- Added permission error troubleshooting to Added section

This addresses the most common user questions and provides a
complete reference for first-time users. Users can now follow
the guide step-by-step to successfully configure PBS backups.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 18:04:49 -05:00
zaphod-black
2dbbf2a683 Fix SSL fingerprint prompt causing authentication timeout
CRITICAL FIX: The PBS client was waiting for interactive SSL
certificate fingerprint confirmation, causing the installer to
timeout during authentication testing.

Changes to pbs-client-installer.sh:
- Authentication test now pipes 'y' to auto-accept SSL fingerprints
- Displays accepted fingerprint in logs for transparency
- Added SSL certificate issues to error troubleshooting
- References new test-connection.sh script in error messages

New file: test-connection.sh
- Parameterized diagnostic script for testing PBS connections
- No hardcoded credentials (security best practice)
- Handles SSL fingerprint acceptance interactively
- Tests all 3 steps: reachability, auth, datastore access
- Provides detailed error messages and guidance
- Usage examples for both password and API token auth

Updated CHANGELOG.md:
- Documented SSL fingerprint auto-acceptance as critical fix
- Listed all improvements since v1.0.0
- Highlighted test-connection.sh script addition

Updated README.md:
- Added comprehensive troubleshooting section
- Documented test-connection.sh usage with examples
- Explained 3-step connection verification process
- Added SSL fingerprint handling instructions
- Clarified timeout values for each step

This resolves the "authentication hanging" issue where the login
command was waiting indefinitely for user input on SSL fingerprint
confirmation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 17:21:10 -05:00
zaphod-black
71f7519353 Add CHANGELOG and update README with new features
Added:
- CHANGELOG.md following Keep a Changelog format
- Documented all changes from v1.0.0 to current unreleased version
- README section explaining reconfiguration options
- Enhanced troubleshooting section with connection test details

The CHANGELOG documents:
- Reconfiguration feature for existing installations
- Connection test timeout and improved error messages
- Installation method change from wget to git clone

The README now clearly explains:
- How to reconfigure existing installations
- Connection-only vs full reconfiguration options
- Use cases for quick connection updates
- Connection test timeout behavior and error types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 16:40:53 -05:00
zaphod-black
934d6172cf Update installation instructions to use git clone
Replace wget command with git clone for better version control
and easier updates. The previous wget URL was also malformed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 16:21:10 -05:00
zaphod-black
fe3e62a8d4
Update README.md 2025-11-01 16:17:01 -05:00
zaphod-black
f15e01918b
Enhance README with installation and usage details
Expanded README with detailed installation instructions, usage examples, troubleshooting tips, and security considerations for the PBS Client Installer.
2025-11-01 16:13:18 -05:00
zaphod-black
0a23af10c6
Update README.md 2025-11-01 15:01:15 -05:00
zaphod-black
aa4d312f9e
Initial commit 2025-11-01 14:59:40 -05:00