<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Thomas</p>
    <p>You can run the services also through other means, for instance
      Apache + WSGI with a Python virtualenv. There is currently no
      generic example published, but essentially you can clone all
      services you want to use to some root directory and write
      something like</p>
    <p>
    </p>
    <p>----<br>
    </p>
    <pre class="code highlight" lang="conf"><span id="LC1" class="line" lang="conf"><span class="c"># Root directory</span></span>
<span id="LC2" class="line" lang="conf"><span class="n">Define</span> <span class="n">root_dir</span> <span class="n">/var/www/</span><span class="n">qwc</span>-<span class="n">services</span></span>
<span id="LC3" class="line" lang="conf"></span>
<span id="LC4" class="line" lang="conf"><span class="c"># WSGI setup</span></span>
<span id="LC5" class="line" lang="conf"><span class="n">WSGIDaemonProcess qwc2 user=www-data group=www-data processes=2 threads=5 python-home=/var/www/venv-qwc2
WSGIProcessGroup qwc2</span></span><span id="LC8" class="line" lang="conf"></span>
<span id="LC12" class="line" lang="conf"><span class="n">WSGIPassAuthorization</span> <span class="n">on</span></span>
<span id="LC13" class="line" lang="conf"></span>
<span id="LC14" class="line" lang="conf"><<span class="n">Directory</span> ${<span class="n">root_dir</span>}></span>
<span id="LC15" class="line" lang="conf">    <span class="n">Require</span> <span class="n">all</span> <span class="n">granted</span></span>
<span id="LC16" class="line" lang="conf"></<span class="n">Directory</span>></span>
<span id="LC17" class="line" lang="conf"></span>
<span id="LC22" class="line" lang="conf"><span class="c"># Application environment</span></span>
<span id="LC23" class="line" lang="conf"><span class="n">SetEnv</span> <span class="n">JWT_SECRET_KEY</span> <span class="n">MY_SECRET_KEY</span></span><span id="LC24" class="line" lang="conf"><span class="n"></span></span>
<span id="LC26" class="line" lang="conf"><span class="n">SetEnv</span> <span class="n">CONFIG_PATH</span> ${<span class="n">root_dir</span>}/<span class="n">config</span></span>
<span id="LC27" class="line" lang="conf"></span>
<span id="LC28" class="line" lang="conf"><span class="n">WSGIScriptAlias</span> /<span class="n">qwc</span>/<span class="n">admin</span>                              ${<span class="n">root_dir</span>}/<span class="n">qwc</span>-<span class="n">admin</span>-<span class="n">gui</span>/<span class="n">server</span>.<span class="n">wsgi</span></span>
<span id="LC33" class="line" lang="conf"></span><span id="LC34" class="line" lang="conf"><span class="n">WSGIScriptAlias</span> /<span class="n">qwc</span>/<span class="n">ows</span>                                ${<span class="n">root_dir</span>}/<span class="n">qwc</span>-<span class="n">ogc</span>-<span class="n">service</span>/<span class="n">server</span>.<span class="n">wsgi</span></span>
<span id="LC44" class="line" lang="conf"><span class="n">WSGIScriptAlias</span> /<span class="n">qwc</span>                                    ${<span class="n">root_dir</span>}/<span class="n">qwc</span>-<span class="n">map</span>-<span class="n">viewer</span>/<span class="n">server</span>.<span class="n">wsgi
</span></span># etc...

WSGIScriptAlias /intern/config_generator                <span id="LC44" class="line" lang="conf">${<span class="n">root_dir</span>}</span>/qwc-config-generator/server.wsgi
SetEnv INPUT_CONFIG_PATH <span id="LC26" class="line" lang="conf">${<span class="n">root_dir</span>}</span>/config-in/
SetEnv OUTPUT_CONFIG_PATH <span id="LC26" class="line" lang="conf">${<span class="n">root_dir</span>}</span>/config/

<Location /intern>
    Require ip 127.0.0.1 ::1
</Location>

</pre>
    <p>----</p>
    <p>You need to make sure the services play together, look at the
      docker-compose.yml / sample tenantConfig.json as a starting point.</p>
    <p>The demo app is just a sample application built on top of the
      QWC2 components. The qwc-map-viewer is the service serving a
      production build of a QWC2 application. See the qwc-map-viewer
      README for more details.</p>
    <p>Best<br>
      Sandro</p>
    <p></p>
    <div class="moz-cite-prefix">On 21.01.21 11:24, Thomas Schüttenberg
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:673350789.114676.1611224685411@office.mailbox.org">
      <pre class="moz-quote-pre" wrap="">Hi there!

Now that I have learned to successfully get the QWC2 demo app[1] up and running, I would like to install some enhancements (a.k.a. qwc-services). 
 
I have read about qwc-services[2] and now I have some general questions: Is it possible to deploy these extension services without Docker? And if so, how? (Because container virtualisation is unfortunately not an option in my case here). 

Also, do I understand correctly that the QWC2 Demo App essentially only consists of the "QGIS Web Client 2 Components"[3] and the "QWC Map Viewer"[4]? 
And that I would therefore - theoretically - need some sort of (yarn?) script that would contain the desired qwc-service sources[2] in order to compile a comprehensive, "full fletched" application bundle (as described in the demo app docs[1]?

Sorry for the possibly awkward or incorrect wording, I'm still trying to get to grips with this subject.

Any help appreciated, cheers
Thomas

[1] <a class="moz-txt-link-freetext" href="https://github.com/qgis/qwc2-demo-app">https://github.com/qgis/qwc2-demo-app</a>
[2] <a class="moz-txt-link-freetext" href="https://github.com/qwc-services">https://github.com/qwc-services</a> 
[3] <a class="moz-txt-link-freetext" href="https://github.com/qgis/qwc2">https://github.com/qgis/qwc2</a> 
[4] <a class="moz-txt-link-freetext" href="https://github.com/qwc-services/qwc-map-viewer">https://github.com/qwc-services/qwc-map-viewer</a>
_______________________________________________
qgis-qwc2 mailing list
<a class="moz-txt-link-abbreviated" href="mailto:qgis-qwc2@lists.osgeo.org">qgis-qwc2@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/qgis-qwc2">https://lists.osgeo.org/mailman/listinfo/qgis-qwc2</a>
</pre>
    </blockquote>
  </body>
</html>