doc/book/admin/deploy.rst
branch3.27
changeset 12862 87b00a0cc64d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/admin/deploy.rst	Fri Jan 31 17:07:25 2020 +0100
@@ -0,0 +1,68 @@
+.. -*- coding: utf-8 -*-
+
+Deploy a *CubicWeb* application
+===============================
+
+Deployment with uwsgi
+---------------------
+
+`uWSGI <https://uwsgi-docs.readthedocs.io/>`_ is often used to deploy CubicWeb
+applications.
+
+Short version is install `uwsgi`:
+
+.. sourcecode:: console
+
+  apt install uwsgi
+
+Deploy a configuration file for your application
+`/etc/uwsgi/apps-enabled/example.ini`:
+
+.. sourcecode:: ini
+
+    [uwsgi]
+    master = true
+    http = 0.0.0.0:8080
+    env = CW_INSTANCE=example
+    wsgi-file = /etc/cubicweb.d/example/wsgiapp.py
+    processes = 8
+    threads = 1
+    plugins = http,python3
+    auto-procname = true
+    lazy-apps = true
+    log-master = true
+    # disable uwsgi request logging
+    disable-logging = true
+    stats = 127.0.0.1:1717
+
+The `wsgiapp.py` file looks like this:
+
+.. sourcecode:: python
+
+    import os
+    from cubicweb.pyramid import wsgi_application_from_cwconfig
+    from cubicweb.cwconfig import CubicWebConfiguration as cwcfg
+
+    appid = os.environ['CW_INSTANCE']  # instance name
+    cwconfig = cwcfg.config_for(appid)
+
+    cwconfig.log_format = ('{0} pid:{1} (%(name)s) %(levelname)s: %(message)s'
+                           .format(appid, os.getpid()))
+
+    application = wsgi_application_from_cwconfig(cwconfig)
+    repo = application.application.registry['cubicweb.repository']
+
+
+Deployment with SaltStack
+-------------------------
+
+To deploy with SaltStack one can refer themselves to the
+`cubicweb-formula <https://hg.logilab.org/master/salt/cubicweb-formula/>`_.
+
+Deployment with Kubernetes
+--------------------------
+
+To deploy in a Kubernetes cluster, you can take inspiration from the
+instructions included in
+`the fresh cube  <https://hg.logilab.org/master/cubes/fresh/file/tip/README.rst#l20>`_
+and the `deployment yaml files <https://hg.logilab.org/master/cubes/fresh/file/tip/deploy>`_.