Install Miniconda2 and create an environment for Senaite as explained in the doc with python 2.7 Get sources for Senaite 2.3.0 Get sources for senaite.app.listing-2.3.0, senaite.app.spotlight-2.3.0, senaite.app.supermodel-2.3.0, senaite.core-2.3.0, senaite.impress-2.3.0, senaite.jsonapi-2.3.0 symlink above in senaite.lims-2.3.0/src directory (omit Senaite versions) Edit buildout.cfg - Add the following in parts = backup repozo In eggs = section, add the following - senaite.databox Set password for admin and listening port and ip details Comment out all entries under [sources] - This is needed, because git pulls are using a newer version than 2.3.0 release. Add the following sections to configure backup - [backup] recipe = collective.recipe.backup location = /filestorage blobbackuplocation = /blobstorage [repozo] recipe = zc.recipe.egg eggs = ZODB # or this for an older version: # eggs = ZODB3 scripts = repozo dependent-scripts = true Under [versions], pin a particular plone version like this - Plone = 5.2.9 Next steps would be to activate the new Senaite conda environment, use pip to install python modules in requirements.txt and run buildout Once all steps have finished, use bin/instance to start the zope instance (or place a little cron job to do it) Configure backup cron jobs, Configure Apache with SSL and rewrite to Senaite, add databox addon to Senaite instance I have tested the Senaite release 2.3.0 on an Ubuntu 22.04 vm