- Use official openSUSE Docker packages instead of Docker CE
- Docker CE is not officially supported on openSUSE
- Install docker and docker-compose from openSUSE repositories
- Use /dev/shm instead of /run/shm for shared memory mount
- Ensure mount point directory exists before mounting
- More compatible across different Linux distributions
- Remove dependency on lsb_release (not available on all distros)
- Use DISTRO_NAME variable for OS info
- Fix uptime parsing to work without -p option
- Corrected setup_samba function to use ${ADMIN_USER:-$USER} consistently
- Export configuration variables in load_or_create_config for subshell access
- Ensure ADMIN_USER variable is properly available in all lib scripts
- Replace all NEW_USER references with ADMIN_USER or current user
- Fix Samba password prompt to use correct user instead of 'nasadmin'
- Update SSH, Docker, and Samba configurations to use proper user variables
- Ensure consistent user handling across all services
- Remove hardcoded 'nasadmin' references
- Change summary file location from /root/nas_services.txt to ~/nas_services.txt
- Use SUDO_USER environment variable to determine correct user home directory
- Update README.md to reflect the correct path for the services summary file
- Ensure file is created in the home directory of the user who ran sudo
- Remove configure_unattended_upgrades call at end of file
- Script is now library-only, called from setup.sh where DISTRO is set
- Prevents 'DISTRO: unbound variable' error when run standalone
🚀 BREAKING CHANGE: Complete rewrite to enterprise-grade standards
### ✨ New Features:
- Enhanced input validation (IP, port, username, path)
- Automatic rollback mechanism on failures
- Comprehensive unit testing framework (50+ tests)
- Advanced logging with timestamps and levels
- Interactive configuration system with persistence
- Performance optimization suite (kernel, Docker, Samba)
- Advanced firewall configuration with monitoring
- System health monitoring and maintenance tools
- Multi-distribution support with version validation
### 🛡️ Security Enhancements:
- SSH hardening with security policies
- Rate limiting for critical services
- IP blocking/unblocking tools
- Intrusion detection capabilities
- Firewall monitoring with alerts
- Secure input sanitization
### 🔧 Architecture Improvements:
- Modular library structure
- Centralized configuration management
- Common functions separation
- Professional error handling with set -euo pipefail
- Signal handling for graceful shutdowns
- Resource cleanup mechanisms
### 📚 Documentation:
- Professional README with comprehensive guides
- Enhanced CONTRIBUTING.md with development standards
- Complete CHANGELOG.md with version history
- Troubleshooting guides and best practices
### 🧪 Testing & Quality:
- Unit tests for all critical functions
- Performance regression testing
- Multi-distribution integration testing
- Input validation testing
- Error scenario testing
This release transforms the script from a basic tool to a production-ready,
enterprise-grade NAS setup solution suitable for professional environments.