Set up a public demo server

A demo server is similar to a production server, but all the sites share a same environment and certain services are disabled.

Set up a shared environment as described in Set up a master environment, but call it demo instead of master and run getlino configure as follows:

$ sudo su
# getlino configure --clone --web-server nginx --server-domain <YOUR_PUBLIC_DOMAIN_NAME> --https --monit --db-engine mysql --db-user demo --db-password demo

The --clone option is optional, it means to clone all repositories and to use the latest development versions. Without that option, your demo server will show the released versions.

Manually edit the in your master environment. A does much more on a demo server than on a production server: it also runs pm prep on each demo site. See less `which` on an existing demo server for inspiration.

Remove and linod entries from cron and supervisor.

Multiple versions

Instead of using a single virtualenv called demo, you may use multiple shared environments on your demo server.

You may create other shared virtualenvs by changing the branch and clone another set of repositories:

# getlino configure --shared-env /usr/local/lino/shared/latest --clone
# getlino configure --shared-env /usr/local/lino/shared/pypi

Specify --shared-env when creating demo sites:

# getlino startsite noi first --shared-env /usr/local/lino/shared/latest
# getlino startsite tera second --shared-env /usr/local/lino/shared/pypi

How to upgrade a demo server

Simply sign in as a site maintainer and run