Implement a 'one-liner' installation script for the MPVJ (Modern PocketVJ) ecosystem on Raspbian x64 Lite. - Interactive whiptail UI for Hostname, SSID, and WiFi Password configuration. - Automated system hardening: hostapd, dnsmasq, avahi-daemon, and Node.js. - Memory safety for Pi 3B: temporary 1GB swap and NPM concurrency limits. - Networking failsafe: static AP on wlan0 and DHCP on eth0 with mDNS support. - OpenSpec artifacts (Proposal, Design, Spec, Tasks) included.
1.8 KiB
1.8 KiB
Why
Deploying MPVJ on a Raspberry Pi 3B (x64 Lite) requires complex system-level configuration (WiFi Access Point, DNS masking, service orchestration). Currently, this is a manual and error-prone process. A "one-liner" headless setup script is needed to transform a clean Raspbian installation into a dedicated mapping appliance with zero friction.
What Changes
- Interactive Setup Script: A Bash-based installer (
setup.sh) that asks for hostname, SSID, and WiFi password using a TUI (Text User Interface). - Automated System Hardening: Automatic installation and configuration of
hostapd,dnsmasq,avahi-daemon, andnodejs. - Hybrid Networking Configuration: Setup of a static IP (192.168.4.1) for the WiFi AP while maintaining DHCP on Ethernet (eth0) for failsafe access.
- Application Deployment: Cloning the MPVJ repository from a user-provided URL and installing dependencies.
- Service Orchestration: Installation of a
systemdservice for the MPVJ backend to ensure it starts on boot.
Capabilities
New Capabilities
headless-installer: A standalone Bash script capable of configuring a Raspberry Pi for headless MPVJ operation via a single command.
Modified Capabilities
hybrid-network-control: The existing networking logic will be updated to respect the configurations generated by the setup script.
Impact
- System Networking: Modifies
/etc/dhcpcd.conf,/etc/hostapd/hostapd.conf, and/etc/dnsmasq.conf. - Hostname: Updates
/etc/hostnameand/etc/hosts. - Resource Management: Automatically manages swap file size during the build process to prevent OOM errors on 1GB RAM devices.
- Security: Sets an independent WPA2 password for the WiFi AP while leaving the system SSH password untouched.