docs: Update README.md and CHANGELOG.md for v2.1.1

- Update version to v2.1.1 in README.md
- Add new features section for v2.1.1 including Docker auto-repair, NFS fixes, Netdata updates
- Update CHANGELOG.md with detailed fixes and improvements
- Update service descriptions to reflect optional nature of services
- Add Docker repair script to directory structure and troubleshooting
- Document new auto-repair functionality and optional unattended-upgrades
This commit is contained in:
Mărcziem ™
2025-10-03 13:06:52 +02:00
parent 8420a0c8b5
commit 0253b226a4
3 changed files with 95 additions and 12 deletions

View File

@@ -28,6 +28,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Performance tuning (live-restore, userland-proxy=false) - Performance tuning (live-restore, userland-proxy=false)
- Resource limits and metrics endpoint configuration - Resource limits and metrics endpoint configuration
- **Docker Auto-Repair Functionality**
- Automatic daemon.json validation and JSON syntax checking
- Intelligent retry logic for Docker installation failures
- Standalone repair script (`scripts/repair_docker.sh`) for troubleshooting
- User group management with fallback detection (ADMIN_USER > NEW_USER > auto-detect)
- **Robust Error Recovery Mechanisms**
- NFS export deduplication to prevent duplicate entries
- Netdata installation via official Packagecloud repositories (replacing broken kickstart.sh)
- I/O scheduler path validation with automatic disk detection
- Optional unattended-upgrades (disabled by default for user control)
- **Enhanced Security Documentation** - **Enhanced Security Documentation**
- New SECURITY.md with comprehensive security policy - New SECURITY.md with comprehensive security policy
- Updated security features documentation - Updated security features documentation
@@ -42,16 +54,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Version Update**: Bumped to v2.1.1 for enhanced distribution detection - **Version Update**: Bumped to v2.1.1 for enhanced distribution detection
- **Documentation Updates**: Comprehensive README, CHANGELOG, and SECURITY updates - **Documentation Updates**: Comprehensive README, CHANGELOG, and SECURITY updates
- **Code Organization**: Better separation of detection logic in lib/detection.sh - **Code Organization**: Better separation of detection logic in lib/detection.sh
- **Unattended Upgrades**: Now optional (ENABLE_AUTO_UPDATES=false by default)
#### Fixed #### Fixed
- **Distribution Compatibility**: Improved detection reliability across all supported distributions - **Docker Installation Issues**
- **Container Environment Handling**: Better warnings and compatibility checks - Fixed unbound SUDO variable errors
- **Version Parsing**: More robust version comparison and normalization - Resolved invalid daemon.json generation
- Fixed user creation failures with proper group management
- Added auto-repair for Docker daemon start failures
- **NFS Configuration**
- Prevented duplicate export entries causing exportfs errors
- Improved export management with clean function
- **Netdata Installation**
- Replaced broken kickstart.sh URL with official Packagecloud repositories
- Ensured reliable installation across all distributions
- **Performance Optimization**
- Added path validation for I/O scheduler configuration
- Fixed invalid scheduler path errors for root disks
- **Distribution Compatibility**
- Improved detection reliability across all supported distributions
- Better container environment handling with user warnings
#### Testing #### Testing
- **Unit Test Coverage**: 66+ comprehensive test cases with 98.5% success rate - **Unit Test Coverage**: 66+ comprehensive test cases with 98.5% success rate
- **Distribution Testing**: Enhanced testing across Ubuntu, Debian, Fedora, Arch, openSUSE - **Distribution Testing**: Enhanced testing across Ubuntu, Debian, Fedora, Arch, openSUSE
- **Container Testing**: Validation in Docker, Podman, LXC, and WSL environments - **Container Testing**: Validation in Docker, Podman, LXC, and WSL environments
- **Error Recovery Testing**: Verified auto-repair functionality for Docker failures
--- ---

View File

@@ -1,9 +1,21 @@
# NAS Setup Script v2.1 # NAS Setup Script v2.1.1
A fully automated script for setting up a professional Network Attached Storage (NAS) system with advanced security features and comprehensive service integration across multiple Linux distributions. A fully automated script for setting up a professional Network Attached Storage (NAS) system with advanced security features and comprehensive service integration across multiple Linux distributions.
## 🚀 New Features in v2.1 - 2025 Compatibility Update ## 🚀 New Features in v2.1.1 - Distribution Detection Enhancement Release
- **Webmin Integration** for web-based system administration
- **Advanced Memory Optimization** with vm.swappiness and vfs_cache_pressure tuning
- **Enhanced Docker Configuration** with optimized daemon.json and log rotation
- **Docker Auto-Repair Functionality** with automatic daemon validation and restart
- **Robust Error Recovery** for Docker installation failures with retry logic
- **NFS Export Deduplication** to prevent duplicate export entries
- **Netdata Official Repositories** using Packagecloud instead of broken kickstart.sh
- **I/O Scheduler Path Validation** with automatic disk detection
- **Optional Unattended Upgrades** (disabled by default for user control)
- **Standalone Docker Repair Script** (`scripts/repair_docker.sh`) for troubleshooting
### Previous v2.1 Features
- **Full IPv6 Support** throughout the entire system - **Full IPv6 Support** throughout the entire system
- **Modern Distribution Support** (Ubuntu 24.04+, Fedora 41+, openSUSE 15.6+) - **Modern Distribution Support** (Ubuntu 24.04+, Fedora 41+, openSUSE 15.6+)
- **Enhanced Security** with Ed25519 SSH keys, auditd logging, and MAC - **Enhanced Security** with Ed25519 SSH keys, auditd logging, and MAC
@@ -125,13 +137,14 @@ The script guides you through an interactive configuration:
- **Gateway and DNS:** IPv4/IPv6 automatic detection with override capability - **Gateway and DNS:** IPv4/IPv6 automatic detection with override capability
### Service Selection ### Service Selection
- **Docker:** Container platform with Compose plugin (required for Vaultwarden, Jellyfin, Portainer) - **Docker:** Container platform with Compose plugin and auto-repair functionality (required for Vaultwarden, Jellyfin, Portainer)
- **NFS:** Network File System with IPv6 support - **NFS:** Network File System with IPv6 support and export deduplication
- **Netdata:** System monitoring - **Netdata:** System monitoring via official Packagecloud repositories
- **Vaultwarden:** Password manager with security hardening (requires Docker) - **Vaultwarden:** Password manager with security hardening (requires Docker, optional)
- **Jellyfin:** Media server with modern GPG keys (requires Docker) - **Jellyfin:** Media server with modern GPG keys (requires Docker, optional)
- **Portainer:** Docker management with HTTPS (requires Docker) - **Portainer:** Docker management with HTTPS (requires Docker, optional)
- **Webmin:** Web-based system administration interface - **Webmin:** Web-based system administration interface (optional)
- **Unattended Upgrades:** Automatic security updates (optional, disabled by default)
### Security Configuration ### Security Configuration
- **Firewall Rules:** IPv4/IPv6 automatic based on selected services - **Firewall Rules:** IPv4/IPv6 automatic based on selected services
@@ -144,6 +157,8 @@ The script guides you through an interactive configuration:
``` ```
nas/ nas/
├── setup.sh # Main installation script ├── setup.sh # Main installation script
├── scripts/
│ └── repair_docker.sh # Docker repair and troubleshooting script
├── config/ ├── config/
│ └── defaults.sh # Configuration variables and defaults │ └── defaults.sh # Configuration variables and defaults
├── lib/ ├── lib/
@@ -293,6 +308,25 @@ sudo netplan apply # Ubuntu/Debian
sudo systemctl restart NetworkManager # Fedora/openSUSE sudo systemctl restart NetworkManager # Fedora/openSUSE
``` ```
#### Docker Issues
```bash
# Check Docker status
sudo systemctl status docker
sudo docker version
# View Docker logs
sudo journalctl -u docker -f
# Repair Docker configuration (new in v2.1.1)
sudo ./scripts/repair_docker.sh
# Check daemon.json syntax
sudo docker daemon --validate-config
# Restart Docker with validation
sudo systemctl restart docker
```
#### Service Issues #### Service Issues
```bash ```bash
# Check service status # Check service status

View File

@@ -502,6 +502,23 @@ show_installation_summary() {
echo " ✓ Webmin web interface: https://$(hostname -I | awk '{print $1}'):10000" echo " ✓ Webmin web interface: https://$(hostname -I | awk '{print $1}'):10000"
fi fi
# Docker notes
if [[ "${INSTALL_DOCKER:-false}" != "true" ]]; then
echo
log_warning "Docker wurde nicht installiert oder wurde während der Installation deaktiviert."
echo "If you need Docker later, repair the daemon and restart Docker with the helper script in the repository:"
echo " cd $(pwd) && sudo bash scripts/repair_docker.sh"
echo "Or create a minimal valid daemon.json and restart Docker manually:"
echo " sudo mv /etc/docker/daemon.json /tmp/daemon.json.broken.$(date +%s) || true"
echo " sudo tee /etc/docker/daemon.json > /dev/null <<'EOF'"
echo "{"
echo " \"storage-driver\": \"overlay2\""
echo "}"
echo "EOF"
echo " sudo systemctl daemon-reload && sudo systemctl restart docker"
echo
fi
echo echo
log_info "Next steps:" log_info "Next steps:"
echo " 1. Reboot the system to ensure all changes take effect" echo " 1. Reboot the system to ensure all changes take effect"