This is the original all-in-one script that was later split into:
- raspberry_pi_flash_sd.sh (SD card flashing)
- raspberry_pi_nextcloud.sh (Nextcloud installation)
Kept for reference and as an alternative single-script deployment option.
- raspberry_pi_flash_sd.sh: Flash RPi OS to SD card (local/remote)
- Auto-discovers SD cards on local or remote systems
- Configures headless SSH access with auto-generated passwords
- Supports flashing via remote laptop with SD card reader
- raspberry_pi_nextcloud.sh: Install and configure Nextcloud
- Automated installation of Nextcloud with Apache, MariaDB, Redis
- DuckDNS + Let's Encrypt for publicly trusted HTTPS
- Security hardening: HSTS, cron jobs, default phone region
- Auto-generated admin credentials stored in config file
- fix command for security warnings
- setup-ssl-remote for Let's Encrypt via DuckDNS
Includes shellcheck compliance with appropriate directives.
- Replace 'A && B || C' patterns with proper if-then-else statements (SC2015)
- Add check_for_virtualbox function to invoke prompt_for_virtualbox_challenge (SC2317)
- Fix install_launcher function to escape variable in heredoc (SC2119/SC2120)
- Apply shfmt formatting to ensure consistent style
Fixes 7 SC2015 violations, 1 SC2317 violation, and 1 SC2119/SC2120 pair.
All 79 shell files now pass shellcheck without errors.