Setting 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.

Warning : This is the deeper Python jungle. Don’t try this before you have installed a few contributor environments and production servers.

Set up a shared master environment as described in Set up a master environment.

Run getlino configure as root:

$ sudo su
# getlino configure --clone --web-server nginx --server-domain lino-framework.org --https --monit --db-engine mysql --db-user demo --db-password demo

That is, you tell getlino to clone all repositories and to install them into the shared virtualenv.

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

Multiple versions

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

# getlino configure --shared-env /usr/local/lino/shared/stable --clone --branch stable

Specify --shared-env when creating demo sites:

# getlino startsite noi first --shared-env /usr/local/lino/shared/stable
# getlino startsite tera second --shared-env /usr/local/lino/shared/master

Remove make_snapshot.sh and linod entries from cron and supervisor.

How to upgrade a demo server

Theoretically you just sign in as a site maintainer and run pull.sh.