feat: Major UI improvements to ez-homelab.sh

- Add professional ASCII box styling to main menu
- Implement interactive variable configuration with validation
- Add icons to all prompts (🌐 🌍 🦆 🔑 👤 🔒 📧 🏠)
- Create vanishing prompts that replace with status confirmations
- Add comprehensive menu system with proceed/review/quit options
- Show current configuration values before deployment choices
- Implement proper error handling for invalid inputs
- Add immediate quit functionality with 'q' during any prompt
- Improve spacing and visual hierarchy throughout interface
- Fix deployment flow to prevent accidental starts on invalid input
This commit is contained in:
EZ-Homelab Assistant
2026-01-31 05:41:30 -05:00
parent 41d9a4cd7f
commit 6c4a3362e0
5 changed files with 499 additions and 296 deletions

60
markup.yml Normal file
View File

@@ -0,0 +1,60 @@
echo "╔═════════════════════════════════════════════════════════════╗"
echo "║ EZ-HOMELAB SETUP & DEPLOYMENT ║"
echo "║ ║"
echo "║ 1) Install Docker ║"
echo "║ 2) Deploy Core Server ║"
echo "║ 3) Deploy Additional Server ║"
echo "║ 4) Install NVIDIA Drivers ║"
echo "║ ║"
echo "║ q) Quit ║"
echo "╚═════════════════════════════════════════════════════════════╝"
echo "╔═════════════════════════════════════════════════════════════╗
echo "║ ✅ SERVER_IP: 192.168.4.4 ║
echo "║ ✅ SERVER_HOSTNAME: jasper ║
echo "║ ✅ DUCKDNS_SUBDOMAINS: kelinreij ║
echo "║ ✅ DUCKDNS_TOKEN: 41ef7faa-fc93-41d2-a32f-340fd2b75b2f ║
echo "║ ✅ DOMAIN: kelinreij.duckdns.org ║
echo "║ ✅ DEFAULT_USER: kelin ║
echo "║ ✅ DEFAULT_PASSWORD: Tiberi0u$ ║
echo "║ ✅ DEFAULT_EMAIL: kelinshomelab@gmail.com ║
echo "╚═════════════════════════════════════════════════════════════╝
echo "╔═════════════════════════════════════════════════════════════╗
echo "║ Use These Values ? (Y/n) ║
echo "╚═════════════════════════════════════════════════════════════╝
echo "╔═════════════════════════════════════════════════════════════╗
echo "║ Deployment Complete! ║
echo "║ SSL Certificates may take a few minutes to be issued. ║
echo "║ ║
echo "║ https://dockge.kelinreij.duckdns.org ║
echo "║ http://192.168.4.4:5001 ║
echo "║ ║
echo "║ https://homepage.kelinreij.duckdns.org ║
echo "║ http://192.168.4.4:3003 ║
echo "║ ║
echo "║ https://authelia.kelinreij.duckdns.org ║
echo "║ http://192.168.4.4:9091 ║
echo "║ ║
echo "║ https://traefik.kelinreij.duckdns.org ║
echo "║ http://192.168.4.4:8080 ║
echo "║ ║
echo "╚═════════════════════════════════════════════════════════════╝
echo "╔═════════════════════════════════════════════════════════════╗
echo "║ ⚠️ WARNING ⚠️ ║
echo "║ The following variables were not defined ║
echo "║ If something isn't working as expected check these first ║
echo "║ ║
echo "║ WATCHTOWER_NOTIFICATION_URL WATCHTOWER_NOTIFICATION_URL ║
echo "║ AUTHENTIK_DB_NAME AUTHENTIK_DB_PASSWORD ║
echo "║ ║
echo "╚═════════════════════════════════════════════════════════════╝