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