Commit Graph

20 Commits

Author SHA1 Message Date
Mărcziem ™
89349adc26 feat(users): interactive helper to create admin user if missing; call during config 2025-10-03 12:18:55 +02:00
Mărcziem ™
7a2d1f1c8e chore(unattended): make automatic updates optional and opt-in via config 2025-10-03 12:11:57 +02:00
Mărcziem ™
b6cdf82356 fix(preflight): detect and clean apt/dpkg locks so setup can be restarted after abort 2025-10-03 12:04:17 +02:00
Mărcziem ™
59a46b3754 fix(handle_error): support wrapper-call usage and trap handler 2025-10-03 11:43:47 +02:00
Mărcziem ™
0fd250a5b3 Revert temporary debugging changes now that lib scripts are fixed 2025-10-03 10:39:40 +02:00
Mărcziem ™
3e048ba938 fix(run_installation): avoid ((current_step++)) under set -e by using explicit arithmetic increment 2025-10-03 10:38:30 +02:00
Mărcziem ™
3fb7f3479e Add debug trace logs to run_installation to locate stall/abort point 2025-10-03 10:25:59 +02:00
Mărcziem ™
5416687af2 Remove existing config file before creating new one to prevent loading old config 2025-10-03 09:31:38 +02:00
Mărcziem ™
34f45f978c Unset config variables before loading config to prevent environment pollution 2025-10-03 09:30:01 +02:00
Mărcziem ™
1c2dbe22a1 Force interactive configuration always for debugging config persistence issues 2025-10-03 09:27:03 +02:00
Mărcziem ™
f3afd46abc Fix config loading after creation
- Load config after create_interactive_config to set variables in shell
- Ensures INSTALL_* variables are properly set for installation logic
2025-10-03 09:14:03 +02:00
Mărcziem ™
8db3151495 Fix config validation to recreate config on failure
- Change load_or_create_config to call create_interactive_config when validate_config fails
- This ensures inconsistent configs are replaced with valid ones
2025-10-03 09:10:48 +02:00
Mărcziem ™
fea22c3e0d Fix Docker dependency check in interactive config
- Use local variable for Docker selection to properly check dependencies
- Ensure Docker-dependent services are only prompted when Docker is selected
2025-10-03 09:02:13 +02:00
Mărcziem ™
2441155399 fix: Prevent Docker-dependent services when Docker not selected
- Add dependency check in create_interactive_config
- Docker services (Vaultwarden, Jellyfin, Portainer) only offered when Docker selected
- Update README to clarify Docker requirements
- Prevents 'Docker not installed' errors during installation
2025-10-03 09:00:11 +02:00
Mărcziem ™
b0340adf03 feat: Add advanced NAS performance optimizations
- Memory optimization: vm.swappiness=10, vm.vfs_cache_pressure=50
- Enhanced Docker configuration with overlay2 and log rotation
- Webmin web interface integration with firewall configuration
- Multi-distribution Webmin support (Ubuntu/Debian, Fedora, openSUSE)
- SSL configuration and session timeout optimization
- Updated documentation and installation summary
- Enterprise-grade performance tuning for NAS workloads
2025-10-03 08:10:28 +02:00
Mărcziem ™
081e32ed43 fix: Update version in setup.sh header to 2.1.1 2025-10-01 23:48:19 +02:00
Mărcziem ™
a7fd5f806b feat: Enhance distribution detection with robust 5-method fallback system
- Add lib/detection.sh with advanced distribution and container detection
- Implement 5-method fallback detection (/etc/os-release, redhat-release, debian_version, lsb_release, manual)
- Add container environment detection (Docker, Podman, LXC, WSL) with user warnings
- Enhance version normalization with regex parsing and bc calculator
- Add comprehensive unit tests (66 test cases, 98.5% success rate)
- Update documentation (README, CHANGELOG, SECURITY, CONTRIBUTING)
- Improve enterprise-grade error handling and logging
- Add IPv6 and security considerations for 2025 compatibility
2025-10-01 23:44:48 +02:00
Sebastian Palencsár
cb91166616 feat: Major v2.0.0 rewrite - Enterprise-grade NAS setup script
🚀 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.
2025-06-17 10:57:46 +02:00
Sebastian Palencsár
cf27011875 Update setup.sh 2025-01-22 09:16:17 +01:00
Sebastian Palencsár
5ecb235919 Add files via upload 2025-01-22 09:13:20 +01:00