Server owner or platform administrator
Install FlowOS without guessing through the eight-step wizard
The installer is a controlled setup sequence, not a substitute for server preparation. Decide the public URL, central login domains, tenant-domain approach, database names, mail delivery, and first administrator before opening /install. Correct failed requirements instead of bypassing them.
Before you start
- PHP 8.2 or later and required extensions.
- A MySQL-compatible server and credentials allowed to create the central schema.
- An HTTPS domain, writable storage, Composer dependencies, and compiled front-end assets.
- A plan for one supervised queue worker and a scheduler that runs every minute.
#Step 1: verify server requirements
Open /install. The first screen checks PHP, extensions, folders, and environment readiness. Use “View full report” for the exact failing item. Folder permissions should be only as broad as your hosting environment requires; do not solve a write error by making the entire application world-writable.
#Steps 2–3: set identity, domains, and database
- Set the application name and the exact HTTPS base URL.
- Enter central domains used for platform and tenant-resolution decisions.
- Choose the intended tenant suffix or custom-domain model.
- Test the central database connection before saving it.
- Use a clean schema; do not point the installer at an unrelated database.
#Steps 4–7: services, channels, administrator, and brand
Configure required database setup, mail and optional channels, then create the first administrator with a unique password and recoverable email. Add brand assets that remain readable on light and dark surfaces. Optional providers can stay disabled until their credentials and callback URLs are ready.
#Step 8: finish and lock installation
Read the summary, complete migrations, lock the installer, and follow the first-login link. Confirm that revisiting /install no longer exposes setup actions. Store recovery information outside the web root and remove temporary archives.
#Common mistakes
- Using an HTTP URL and planning to “fix HTTPS later.”
- Using one database for central and tenant data.
- Uploading a local .env containing development secrets.
- Leaving the installer available after setup.
#Verify the result
- All requirement checks pass.
- The public URL and domains match DNS and SSL.
- The installer is locked.
- Central and tenant login behavior is ready to test.