Commit Graph

44 Commits

Author SHA1 Message Date
Mărcziem ™
f106f966a3 feat(docker): interactive selection when multiple non-system users exist 2025-10-03 12:26:16 +02:00
Mărcziem ™
e545862043 feat(users): offer docker-group addition when creating admin user interactively 2025-10-03 12:25:25 +02:00
Mărcziem ™
d886652385 feat(docker): prefer ADMIN_USER/NEW_USER, auto-detect existing sudo user, create only if allowed 2025-10-03 12:24:06 +02:00
Mărcziem ™
abe0d451ab fix(docker): default DOCKER_DATA_DIR to DEFAULT_DOCKER_DATA_DIR to avoid unbound variable 2025-10-03 12:20:44 +02:00
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 ™
cfc234559e fix(docker): skip usermod when NEW_USER missing; optional user creation via CREATE_NEW_USER_IF_MISSING 2025-10-03 12:17:24 +02:00
Mărcziem ™
6eb78589b5 fix(docker): avoid unbound SUDO when not set; provide safe default 2025-10-03 12:15:15 +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 ™
4d645a31a6 fix(unattended): ensure noninteractive env under sudo and silence apt-listchanges 2025-10-03 12:01:43 +02:00
Mărcziem ™
767e607a27 fix(unattended): install non-interactively and avoid dpkg-reconfigure prompts 2025-10-03 11:59:16 +02:00
Mărcziem ™
c460f7c9e2 fix(unattended): preseed debconf and install non-interactively to avoid prompts 2025-10-03 11:54:27 +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 ™
44e0c13435 fix(ssh): robust restart helper and use it for ssh restarts 2025-10-03 11:35:53 +02:00
Mărcziem ™
1a67acaafc fix(defaults): restore SCRIPT_AUTHOR and validate_config; remove debug-force 2025-10-03 11:31:08 +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 ™
834b5382d5 fix(run_installation): avoid ((current_step++)) under set -e by using explicit arithmetic increment 2025-10-03 10:39:39 +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
Sebastian
2926b0ab66 Refactor Vaultwarden installation script
Updated Vaultwarden installation script for NAS setup. Improved error handling, Docker checks, and ensured proper sourcing.
2025-10-03 09:58:55 +02:00
Mărcziem ™
5b3b0465c7 Fix direct function calls in lib scripts to prevent execution on source 2025-10-03 09:54:41 +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 ™
494b13264e Force new configuration for debugging to resolve config persistence issues 2025-10-03 09:19:55 +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 ™
0358f45d60 Add Docker dependency validation to validate_config
- Check if Docker-dependent services are enabled without Docker
- Force interactive config recreation if inconsistencies found
2025-10-03 09:09:44 +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 ™
660565a1c4 fix: Remove direct execution from unattended-upgrades.sh
- 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
2025-10-03 08:53:27 +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 ™
7a1384d48f docs: Update CHANGELOG for v2.1.1 distribution detection release 2025-10-01 23:46:23 +02:00
Mărcziem ™
086c101923 chore: Update version to 2.1.1 for enhanced distribution detection release 2025-10-01 23:46:09 +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
v2.1.1
2025-10-01 23:44:48 +02:00
Sebastian Palencsár
a8426842d6 docs: update LICENSE copyright year to 2024-2025
- Update copyright year range for v2.0.0 major release
- Reflect current development period in license
2025-06-17 11:05:47 +02:00
Sebastian Palencsár
ec2b8361f7 fix: correct GitHub links in documentation
- Fix GitHub repository links in CHANGELOG.md
- Fix clone repository link in README.md
- Ensure all documentation uses correct spalencsar/nas repository
- Maintain consistency across all documentation files
2025-06-17 11:04:39 +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.
v2.0.0
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
f7d20d1619 Update CONTRIBUTING.md 2025-01-22 09:14:22 +01:00
Sebastian Palencsár
5ecb235919 Add files via upload 2025-01-22 09:13:20 +01:00
Sebastian Palencsár
d5dca126a6 Update README.md 2025-01-22 09:11:42 +01:00
Sebastian Palencsár
a7d71b26e2 Initial commit 2025-01-22 09:11:23 +01:00