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
This commit is contained in:
Mărcziem ™
2025-10-03 08:10:28 +02:00
parent 081e32ed43
commit b0340adf03
7 changed files with 222 additions and 11 deletions

View File

@@ -46,6 +46,7 @@ source "${SCRIPT_DIR}/lib/unattended-upgrades.sh"
source "${SCRIPT_DIR}/lib/vaultwarden.sh"
source "${SCRIPT_DIR}/lib/jellyfin.sh"
source "${SCRIPT_DIR}/lib/portainer.sh"
source "${SCRIPT_DIR}/lib/webmin.sh"
source "${SCRIPT_DIR}/lib/performance.sh"
# Initialize logging
@@ -306,6 +307,7 @@ create_interactive_config() {
save_config "INSTALL_VAULTWARDEN" "$(ask_yes_no "Install Vaultwarden password manager?" "n" && echo "true" || echo "false")"
save_config "INSTALL_JELLYFIN" "$(ask_yes_no "Install Jellyfin media server?" "n" && echo "true" || echo "false")"
save_config "INSTALL_PORTAINER" "$(ask_yes_no "Install Portainer Docker management?" "n" && echo "true" || echo "false")"
save_config "INSTALL_WEBMIN" "$(ask_yes_no "Install Webmin web interface?" "n" && echo "true" || echo "false")"
log_success "Configuration created and saved to ${CONFIG_FILE}"
}
@@ -339,7 +341,7 @@ update_system() {
# Main installation orchestrator
run_installation() {
local total_steps=12
local total_steps=13
local current_step=0
log_info "Starting NAS installation process..."
@@ -410,6 +412,14 @@ run_installation() {
else
((current_step++))
fi
if [[ "${INSTALL_WEBMIN:-false}" == "true" ]]; then
((current_step++)); show_progress $current_step $total_steps "Installing Webmin"
install_webmin
configure_webmin
else
((current_step++))
fi
}
# Installation summary
@@ -442,6 +452,9 @@ show_installation_summary() {
if [[ "${INSTALL_PORTAINER:-false}" == "true" ]]; then
echo " ✓ Portainer Docker management: http://$(hostname -I | awk '{print $1}'):9000"
fi
if [[ "${INSTALL_WEBMIN:-false}" == "true" ]]; then
echo " ✓ Webmin web interface: https://$(hostname -I | awk '{print $1}'):10000"
fi
echo
log_info "Next steps:"