Setting up a demo installation
This page is for creators who want to show Exponential on camera. Every demo script in this section runs on a demo installation you control: your own computer or a test server of yours, with invented content. Never record a customer's or an employer's live site, and never a shared installation whose settings belong to someone else (Live demo safety).
The commands here come from the installation guide and the feature pages linked beside them. Run them yourself before you record; do not type them for the first time on camera.
Contents
- Decide which version you show
- Get the code
- Install in one command
- Serve the site
- Make it camera-ready
- Reset between takes
- When something fails
- A demo that others sign in to
Decide which version you show
| You want to show | What you need | Say on camera |
|---|---|---|
| A release | A tag, for example v6.0.14 (7 June 2026); the newest one shows git tag -l 'v6.0.*' --sort=version:refname | "Exponential <version>" |
What this help describes: the admin4 design, exp:install, Velocity, Exponential Intelligence in the distribution, the current layouts editor | The 6.0.15 line: the tag v6.0.15 once it is published, or branch main | "Exponential 6.0.15", or "the main branch, as of <date>" |
Most screens in the help belong to the 6.0.15 line
(6.0.15 changelog). exp:install, Velocity and the admin4 design are listed there
as added in that line. Take a release date for 6.0.15 only from its tag.
Get the code
You need Git, Composer 2 and PHP as listed in the requirements (Requirements, Develop with Git):
git clone https://github.com/se7enxweb/exponential.git exponential
cd exponential
git switch -c my-demo # your own branch on main; for the release: git switch -c my-demo v6.0.14
composer installcomposer install is required before Exponential can run (README.md). It fetches the extensions and libraries.
Install in one command
From the 6.0.15 line on, one command installs the multisite package on SQLite in eng-US, with no database server
(Installing Exponential in one command):
php bin/php/console exp:install --dry-run # checks the configuration, installs nothing
php bin/php/console exp:install --apply # installs- Many installations add the shortcut
ln -s bin/php/console console, after which./console exp:install --applyis the same command; the shortcut is not shipped (The console install). - Without options the administrator is
adminwith a generated 24-character password, printed in the summary and written tovar/log/initial-admin-password. Do not record this summary: it shows the password. - It refuses to run over an existing installation unless you add
--force. - On 6.0.14, use the setup wizard or the kickstarter instead (Choosing an install method).
Serve the site
exp:install does not start a web server. Serve the installation root with your usual web server
(Serving the site), or, from the 6.0.15 line on, with Velocity:
php bin/php/console exp:velocity start
php bin/php/console exp:velocity status # lists the addresses to openThe engine package for the bundled server is installed separately; the Velocity demo script covers it.
Make it camera-ready
[ ] Signed in once as admin; password changed; var/log/initial-admin-password deleted
[ ] A demo editor account with an invented name (for example "Demo Editor") and the Editor role
[ ] A second content language added (Setup > Languages) so items show a dashed badge to translate
[ ] One folder with a few items of invented text and your own or freely licensed images
[ ] At least one layout in the Layouts tab (Layouts > New layout, any type, a name)
[ ] The Interface box in the right column lists German, Hebrew and Arabic
[ ] Optional: Exponential Intelligence switched on with a key you can revoke (see its demo script)
[ ] Browser: a separate profile, zoom readable on a phone, notifications off, bookmarks bar hidden
[ ] Nothing on screen with real names, e-mail addresses, keys, passwords or server addressesThe same list for presales demos is in Demo scripts, Before any demo. Password rules for the first sign-in: The default administrator password.
Reset between takes
| Left over | Clean it |
|---|---|
| Drafts from the last take | Dashboard > My drafts, discard them |
| A layout draft | Open the layout, Discard, confirm |
| A test translation | Remove it from the item (Languages) |
| Interface in Arabic or Hebrew | Interface, English, Apply |
| Drafts written by the assistant | Discard them in the Intelligence tab |
| Anything else | Reinstall with --force on the demo machine only |
When something fails
| Symptom | What to do |
|---|---|
| "This directory already holds an installation ..." | Add --force only on a demo you may wipe |
| The site shows the maintenance page after a failed run | Fix the cause and run again, or php bin/php/maintenance.php off |
| Permission errors after installing as root | Give the files to the web server's user |
| The summary did not appear | Read var/log/setup.log |
Full table: The console install, What can go wrong.
A demo that others sign in to
A recording on your own machine needs nothing more. A demo on the internet whose administrator sign-in you publish
(so viewers can try it themselves) is a public demo: run it with the environment variable EXP_DEMO_MODE=1.
Install with the variable, so
exp:installkeeps the password you publish instead of generating one (any length,publishincluded; an empty one is refused):EXP_DEMO_MODE=1 php bin/php/console exp:install --apply --password='<the password you publish>'Keep the variable for the site's PHP, cron jobs and console afterwards. While it is set, nobody can change or reset the administrator password, so the next viewer can still sign in, and the administration shows a Demo mode banner.
Rebuild the demo on a schedule: demo mode protects only the administrator password, not the content.
Never set the variable for a real site, and never reuse the published password anywhere.
How to set it for each kind of server: Demo mode for hosts.
Related pages
Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.