Sunday, September 8, 2019

How to install getlino on the new server for lino-framework.org? We definitively don’t want to install a new environment for every site, so it is not a real production server. It is a demo server.

A demo server has a list of “demo projects” that it serves in a set of “versions”. For example:

projects = 'a', 'b', 'c'
versions = 'master', 'stable'

There will be six sites on that server:

a.master.example.com
a.stable.example.com
b.master.example.com
...

I guess that this will need yet another little change in getlino: At the moment we have a single --local-prefix and a single --shared-env. But we need a mapping:

subdomain

local_prefix

shared virtual_env

master

master_sites

/usr/local/lino/envs/master

stable

stable_sites

/usr/local/lino/envs/stable

Does it make sense to use a demo server also for serving documentation? Each “version” or “subdomain” on the server might also feature a build of a set of doctrees. But let’s rather try to delegate documentation to readthedocs.org, after all it is their speciality.

In a first step a mapping to local_prefix is not needed to differentiate between master and stable. We can use different site names for each combination of (app, branch, front_end). I wrote installation instructions (Configure a Lino demo server).

Code changes:

New option –shared-env for startsite. When used with startsite, it overrides the value specified during configure.

Renamed the –contrib option to –clone because it is also used when configuring a demo server. It means “clone all known repositories to the –repos-base and install them to the shared env using pip -e.”

The configure command now supports –clone without specifying a –repos-base. In that case it uses the repositories subdir of the shared-env.