Menu User Guide
This guide is for the person who mainly works through:
sudo /root/simai-env/simai-admin.sh menu
It focuses on the everyday menu flow, not on internal implementation details.
For profile-specific workflows after site creation, see docs/user/profile-workflows.md.
For detailed CMS/profile notes, start from docs/user/README.md.
Fresh install defaults:
- new installs enable only the core profiles at first:
static,generic, andalias - additional profiles such as
wordpress,laravel, andbitrixcan be enabled later fromAdvanced -> Profiles - bootstrap installs PHP
8.2by default; install another version from thePHPsection when needed
How the menu behaves
- The menu stays open after commands finish.
- Failed commands return you to the menu instead of dropping you to the shell.
- When a command needs required values such as
domain,file, orphp, the menu asks for them. - Empty selection or cancel returns safely to the menu.
- Actions that change managed state show the action and target, then require an explicit
yes; the default isno. - Site creation collects all choices first and shows a final plan before it writes files or service configuration.
- Empty Enter keeps the current menu open; EOF/Escape returns safely to the previous level (or exits from the root menu).
Advanced modelives insideSystem.- Dialog size follows the current terminal. At narrow widths, result tables use a stacked key/value layout instead of overflowing horizontally.
- Long operations print a periodic
WORKINGheartbeat and elapsed time.
Main sections
Sites
Use this section when you need to create, inspect, pause, resume, or remove a site.
Common actions:
List sitesCreate siteSite infoSite activitySet activityAutomatic optimization...(Advanced mode; opens a focused submenu)Pause siteResume siteChange site PHPRemove site
Typical flow:
- Create the site.
- Open
Site info. - If needed, issue SSL in the
SSLsection. - For CMS profiles, complete setup from the
Applicationssection.
SSL
Use this section to view certificate state and enable HTTPS.
Common actions:
List certificatesCertificate statusIssue Let's EncryptInstall custom certificateRenew certificateDisable HTTPS
Notes:
- If a site was created with
Serve all first-level subdomains too? = yes, the SSL screen can now request a wildcard certificate for the main domain plus*.domain. - Wildcard HTTPS can now use either:
cloudflarewith a credentials file on the servermanual, where Certbot shows TXT records and the operator adds them by hand
- Before requesting a wildcard certificate, the menu now shows a preflight screen with:
- the
Arecords the user should create - a simple explanation of whether TXT verification is automatic or manual
PASS/WARN/FAILchecks for DNS, provider/plugin, and credentials readiness
- the
PHP
Use this section when you need to inspect installed PHP versions, install a new version, or reload PHP-FPM.
Common actions:
List PHP versionsInstall PHP versionReload / restart PHP-FPM
Database
Use this section for database overview and site-level DB operations.
Common actions:
List databasesDatabase server statusPrepare site databaseWrite DB credentials to project .envRotate database password
Access
Use this section to manage delegated file access without giving out root or the main simai account.
Common actions:
List accessesShow access detailsCreate project accessCreate global accessAdd SSH keyDisable accessEnable accessReset access passwordRemove access
Notes:
- Access users are
SFTP-only and do not receive shell access. - Project access is isolated with
ChrootDirectoryand a bind mount. - Project root must live under
WWW_ROOT. - On systemd hosts, a
.mountunit is created to persist the bind mount across reboots.
Diagnostics
Use this section for read-only checks.
Common actions:
Site health checkConfiguration drift statusPlatform status
Logs
Use this section to inspect logs without searching paths manually.
Common actions:
Platform logSetup logCommand audit logWebsite access logWebsite error logCertificate log
Backup / Migrate
Use this section when you need a safe export/import workflow for site config archives.
Common actions:
Export site settingsReview archivePreview import
Notes:
- The menu shows only compatible site settings archives for
Review archiveandPreview import. - Platform pre-update backups are intentionally excluded from that picker.
Applications
This section is the shared application/CMS area. It now opens into three submenus:
LaravelWordPressBitrix
Regular mode keeps only the most common actions in each submenu. Advanced mode
shows installer, scheduler, cache, and maintenance commands. Dense Bitrix and
System maintenance sets open as focused submenus so Back remains visible in
small terminals.
Common Laravel actions inside Applications -> Laravel:
Laravel statusLaravel prepare appLaravel complete setupLaravel worker statusLaravel worker restartLaravel worker logsLaravel scheduler enableLaravel scheduler disable
Common WordPress actions inside Applications -> WordPress:
WordPress statusWordPress optimization statusComplete WordPress setup
Common Bitrix actions inside Applications -> Bitrix:
Bitrix statusBitrix optimization statusComplete Bitrix setupPrepare Bitrix restore
Profiles
Use this section to inspect and manage profile availability.
Common actions:
List profilesProfile usage summaryCheck profilesTurn profile onTurn profile off
System
Use this section for the platform itself.
Regular mode:
Platform statusOptimization statusAutomatic optimizationOptimization planRepair platformUpdate simai-envVersionAutomatic updatesCheck for updates nowAdvanced mode
Advanced mode also adds:
Turn update checks onTurn safe auto-update onTurn automatic updates offApply optimization planAutomation scheduler statusHealth reviewSite review
Most common user scenarios
Create a new site
- Open
Sites -> Create site. - Enter the domain.
- Choose the profile.
- Choose whether the site should also serve all first-level subdomains.
- Choose activity class if asked.
- If the profile supports PHP, choose one of the installed compatible PHP versions.
- If you want HTTPS right away, choose SSL issuance when prompted.
- If the profile needs a database, choose whether to prepare a managed site database now or continue without DB setup.
Notes:
Serve all first-level subdomains too?creates one site for both the main domain and*.domain.- Menu-based site creation expects a new empty project directory. It will refuse to attach a new site profile to a non-empty path.
- After creation, the summary prints the DNS records you need to add for the main domain and wildcard host.
Site inforepeats these DNS records later, so you do not need to remember them.- Wildcard HTTPS for subdomains is a separate next step. The summary and
Site infoboth show the Cloudflare DNS challenge command to use after DNS is ready.
Finish a Laravel site
- Create the site with profile
laravel. - Open
Applications -> Laravel prepare app. - Open
Applications -> Laravel complete setup. - Open
Applications -> Laravel status.
Finish a WordPress site
- Create the site with profile
wordpress. - Open
Applications -> WordPress complete setuponly after the browser installer is finished. - Open
Applications -> WordPress status.
Finish a Bitrix site
- Create the site with profile
bitrix. - When asked about Bitrix helper files, keep
nonefor infrastructure-only or choosesetupfor a new installation. - Prepare the installer later from Advanced mode if you kept
none. - Complete the web install in the browser.
- Open
Applications -> Bitrix complete setup. - Open
Applications -> Bitrix status.
Restore a Bitrix site from backup
- Create the site with profile
bitrix. - When asked about Bitrix helper files, choose
restoreif you wantrestore.phpprepared immediately, or keepnoneand prepare it later. - Open
Applications -> Bitrix restore from backupifrestore.phpwas not prepared during site creation. - Open the shown
restore.phpURL in the browser. - Complete the Bitrix restore wizard.
- Open
Applications -> Bitrix complete setup. - Open
Applications -> Bitrix status.
Pause a rarely used site
- Open
Sites -> Pause site. - Confirm.
- The site stays registered, but its runtime is parked behind a managed
503.
To bring it back:
- Open
Sites -> Resume site.
Turn automatic optimization on or off
- Open
System. - Use
Automatic optimization.
Ordinary users normally do not need Scheduler status; it is kept in Advanced mode.
Automatic update checks
- Open
System. - Use
Automatic updatesto see whether the platform is inoff,check, orapply-safemode. - Use
Check for updates nowwhen you want to refresh the cached update status immediately.
Notes:
- The menu banner uses cached update state instead of doing a live network check every screen redraw.
- In
apply-safemode, the menu can apply an update only at safe points such as entering or returning to a section. - The menu does not auto-update during prompt chains or while a command is already running.
- After a safe auto-update, the menu returns you to the same section.
If you are not sure what to do next
- Start with
Sites -> Site info - Then
Diagnostics -> Site doctor - Then
SSL -> SSL status - Then the profile-specific status in the
Applicationssection
Where to read more
- Command reference
- Daily operator quickstart
- Profile runbooks:
docs/operations/bitrix-production-runbook.mddocs/operations/wordpress-production-runbook.mddocs/operations/laravel-production-runbook.md