d35c413651
Restructure picpeak-setup.sh around two clear modes: - Interactive wizard (run_wizard): asks method → install dir → channel → domain → HTTPS handling → admin email → SMTP, then shows a review and confirms before installing. Each value already passed as a flag is respected and its question skipped. - Unattended (--unattended + flags): validate_unattended fills defaults and fails fast on impossible combos (e.g. --enable-ssl without --domain). New flags: --admin-password, --install-dir, --channel. Align the Docker path with the rest of the project: - Use the committed docker-compose.production.yml (prebuilt GHCR images) via COMPOSE_FILE in .env instead of hand-generating a divergent compose file. - Drop the broken setup_ssl_docker call (was referenced but never defined). - Update path pulls images instead of building. Admin bootstrap follows the browser-first model (#714): by default no password is written; the one-time /setup token is surfaced (from data/SETUP_TOKEN or the logs) with browser instructions. --admin-password keeps the legacy seeded-admin + ADMIN_CREDENTIALS.txt flow for headless runs. Depends on #714 (setup-token backend + secrets-init in production compose) for the browser-first + zero-secret behavior at runtime.