Skip to content

Commit 4fd7e28

Browse files
author
Manus AI
committed
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

File tree

0 commit comments

Comments
 (0)