Comprehensive improvements: pigz support, error handling, documentation, and interactive configuration#10
Open
rogerb831 wants to merge 7 commits intoGeczy:mainfrom
Open
Comprehensive improvements: pigz support, error handling, documentation, and interactive configuration#10rogerb831 wants to merge 7 commits intoGeczy:mainfrom
rogerb831 wants to merge 7 commits intoGeczy:mainfrom
Conversation
Added support for parallel compression and decompression using pigz if available.
Pull in changes from Cristy94/coolify-migration
- Add early pigz detection with auto-install option and OS detection - Add interactive prompts for sshKeyPath and destinationHost if defaults are used - Fix missing quotes around variables to prevent word splitting - Add comprehensive error handling for Docker commands - Add error handling for authorized_keys operations - Add fallback for nproc command - Fix OS detection patterns for consistency - Improve error messages and validation - Fix syntax issues and indentation problems
- Add detailed overview and features section - Include prerequisites and installation instructions - Document configuration options and usage - Add troubleshooting guide for common issues - Include safety considerations and best practices - Document supported operating systems - Add contributing guidelines - Include table of contents for easy navigation
README: - State explicitly: run on source server, not laptop or destination - Add note at top, in Installation, and in Usage - Use 'From the source server' in usage example migrate.sh: - Require full SSH target (user@host) as first argument - Validate argument contains @; show usage on error - Auto-detect best private key from ~/.ssh (id_ed25519, id_ecdsa, id_rsa) - Error with clear message if no usable key found - Use sshTarget in SSH commands (no assumed user) Co-authored-by: Cursor <cursoragent@cursor.com>
…handling migrate.sh: - Add --backup-only: create backup only, no transfer (USER@HOST not required) - Add --no-strict-host-key: disable SSH host key verification for migration - Skip SSH key detection and connectivity check when --backup-only - Backup: stop docker.socket with docker so backup stays consistent; restart Docker on backup failure and after successful backup (dockerWasStopped) - Backup-only exit: prompt to remove local backup file, then exit - Remote: set -e; detect COOLIFY_OS once (debian/redhat/suse/arch/alpine); install curl via case per OS instead of long if/elif - Transfer: use sshTransferOpts so StrictHostKeyChecking=no is optional README.md: - TOC: add Reset Target (Re-testing) - Installation: chmod both scripts; mention --no-strict-host-key in help - New section: Reset Target (Re-testing) — what it does, how to run, options (--yes, --no-strict-host-key), DESTROY confirmation - Troubleshooting: add Volume warning (Cause, Impact — safe to ignore) - After Migration: add bullet 4 for volume warning with link to Troubleshooting reset-target.sh (new): - Run on source with USER@HOST; SSHs to target and wipes it for re-testing - Stops containers, stops Docker, removes /data/coolify and Docker data, uninstalls Docker packages (Debian/Ubuntu, RHEL/Fedora, SUSE, Arch, Alpine) - Options: --yes (skip confirm), --no-strict-host-key - Requires typing DESTROY to confirm unless --yes Co-authored-by: Cursor <cursoragent@cursor.com>
zbcoding
approved these changes
Mar 17, 2026
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR includes comprehensive improvements to the Coolify migration script, building upon the community contributions and adding significant enhancements for robustness, usability, and documentation.
Key Features
🚀 Pigz Support (includes Cristy94's PR #9)
pigzat startup and offers to auto-install it if missingpigzfor faster backups when available, with graceful fallback togzip⚙️ Interactive Configuration
🛡️ Comprehensive Error Handling
📚 Complete Documentation
🔧 Code Quality Improvements
nproccommandsystemctlavailabilityChanges Summary
Testing
The script has been tested with:
pigzinstalledRelated PRs
Benefits
pigzenables parallel compressionThis PR consolidates improvements from the community while maintaining backward compatibility and improving the overall quality of the migration script.