What this page is for
The setup wizard runs once, the first time you open the system on a new server. It asks for everything the system needs and sets it up for you: database, web address and email, your organisation, your admin account, branding, modules and background tasks. When you finish, the wizard closes for good and you sign in.
You can stop at any time and come back later: the wizard remembers every finished step. Use Back or the step list on the left to change an earlier answer.
Who can use it
Whoever installs the system. The wizard is only reachable until installation finishes; after that its address shows "not found".
How to install, step by step
- Welcome: choose the installer language and accept the licence agreement.
- Server check: pick your hosting company, then check the list. Every red item must be fixed; each has a How to fix link. Yellow items are recommendations.
- Licence: paste your licence key, upload
licence.json, or start the free 14-day trial. - Database: create an empty database and user in your hosting panel first. Choose the database type, enter the details, select Test connection, then Save and continue.
- Web address and email: check the address people will use. Enter your mail server details and send yourself a test, or choose to set email up later.
- Install the database: select Install the database and wait a few seconds.
- Your organisation: enter the name, choose your country and select Use my country's settings to fill in timezone, currency, date format and week start.
- Admin account: your own name, email and password. You become the account owner.
- Branding (optional): product name, logo and colours. You can Skip and do it later on the Branding page.
- Modules: pick a preset or tick the features you need.
- Sample data and AI: information about optional extras.
- Background tasks: add the cron line (or the web-cron address), wait a minute, then select Check now. You can skip and check later.
- Finish: check the summary, back up your
.envfile, and select Finish and sign in.
How to install from the command line
Technicians can run the same steps without a browser:
php artisan stayops:install --org-name="Seaside Stays" --country=GB --admin-name="Amina Rahman" --admin-email=amina@example.com --admin-password=... --db=pgsql --db-host=127.0.0.1 --db-database=stayops --db-username=stayops --db-password=... --modules=preset:manager --trial --no-interaction
Fields and columns
| Step | Field | Meaning |
|---|---|---|
| Server check | Hosting | Your hosting company. It only changes the help text and suggestions. |
| Licence | Licence key or file | From your purchase email. Checked offline by its signature. |
| Database | Database type | PostgreSQL (best on your own server), MySQL or MariaDB (best on shared hosting), or SQLite (one file; demos and very small use). |
| Database | Server, port, name, user, password | From your hosting panel. Leave the port empty for the standard one. |
| Database | Encrypted connection | For external PostgreSQL (Neon, Supabase, DigitalOcean): choose Required. |
| Database | Create the database for me | Tries to create a missing database. Works only when the user is allowed to. |
| Web address | Web address | The address people type, for example https://ops.yourcompany.com. |
| Web address | SMTP server, port, user, password, from address and name | Your mail server. Port 587 or 465; many hosts block 25. |
| Your organisation | Country, timezone, currency, language, date format, week start | Regional defaults, all changeable later in Settings. |
| Admin account | Name, email, password | At least 10 characters with letters and numbers. |
| Modules | Presets | Host (small), Property manager or Full suite. Modules your licence doesn't cover can't be ticked. |
| Background tasks | Cron line, web-cron address | How your server starts background tasks every minute. |
Statuses and automation
- Green tick in the step list: the step is done. Steps after the first unfinished one are locked.
- The wizard creates the
.envsettings file and its encryption key on the first visit, and keeps a backup of an existing.envbefore changing it. - Database passwords go straight into
.envand are never shown again. Leave the password empty on a later visit to keep it. - Installing the database is safe to repeat.
- On shared hosting the system runs in shared mode: background jobs run from cron, with no programs left running.
- Finishing writes a lock file; from then on the wizard is closed.
Settings that change this page
None. After installation, change these choices on the Settings, Branding, Modules and Licence pages.
FAQs
Which database should I choose? On shared hosting choose MariaDB or MySQL. On your own server choose PostgreSQL. SQLite is fine for a demo; you can move to another database later.
Can I install without a licence? Yes: start the 14-day trial. Add the licence any time before it ends.
What if my host has no cron? Use the web-cron address shown on the Background tasks step with a free service such as cron-job.org.
Do I need a command line? No. Upload the files, create the database in your hosting panel, and do everything else in the browser.
Troubleshooting
| Problem | What to do |
|---|---|
| A required server item is red | Open How to fix under it. On shared hosting most fixes are in "Select PHP Version". |
| "The user name or password was refused" | On cPanel, both names usually start with your account name and an underscore (for example acct_stayops). |
| "No database server answered" | On most hosts the server is localhost. Check the port. |
| "The database doesn't exist" | Create it in your hosting panel, or tick Create the database for me. |
| The database is too old | Ask your host for a newer version, or choose another database type. |
| Installing the database failed | Copy the diagnostic report and send it to support. Then select Try again. |
| The test email doesn't arrive | Check the spam folder, the port (587 or 465) and the password. Some hosts require the "from" address to be one of your own mailboxes. |
| Check now stays yellow | Wait a full minute after adding the cron line. Check the PHP path in the line with your host. |