Commit 4fd7e28
Manus AI
feat: complete install wizard with db, mail, storage, security & third-party config
Add a comprehensive multi-step installation wizard to the install-fleetbase
command, replacing the minimal 4-variable setup with a full production-ready
configuration flow.
Changes:
- Pre-flight checks: verify Docker, Docker Compose v2, and Git are installed;
warn on port conflicts for 8000, 4200, 3306, and 38000
- Step 1 (core): add app name prompt alongside existing host/environment/directory
- Step 3 (database): choose bundled Docker MySQL (auto-generated secure
credentials) or external MySQL/RDS; sets DATABASE_URL, MYSQL_ROOT_PASSWORD,
MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE, MYSQL_ALLOW_EMPTY_PASSWORD
- Step 4 (mail): select driver (SMTP, Mailgun, Postmark, SendGrid, Resend, SES,
or log); collect driver-specific credentials; sets MAIL_MAILER, MAIL_HOST,
MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM_ADDRESS, MAIL_FROM_NAME
- Step 5 (storage): choose local disk, AWS S3, or Google Cloud Storage; sets
FILESYSTEM_DRIVER, AWS_* / GOOGLE_CLOUD_* variables
- Step 6 (security/CORS): auto-derive SESSION_DOMAIN and SOCKETCLUSTER_OPTIONS
origins from the configured host; prompt for additional FRONTEND_HOSTS
- Step 7 (third-party): optional IPINFO_API_KEY, GOOGLE_MAPS_API_KEY,
GOOGLE_MAPS_LOCALE, TWILIO_SID, TWILIO_TOKEN, TWILIO_FROM
- Write a complete docker-compose.override.yml covering application, socket,
and database services; back up any existing override file
- Active database readiness polling (mysqladmin ping) instead of a fixed sleep
- Rich post-install summary showing configured/skipped items and next steps
- Add --non-interactive flag to skip all optional prompts with safe defaults
(useful for CI/CD pipelines)
- Add helper functions: isPortAvailable(), execAsync(), buildEnvBlock()1 parent fd8cfb4 commit 4fd7e28
1 file changed
Lines changed: 497 additions & 107 deletions
0 commit comments