Code Monkey home page Code Monkey logo

qwc-docker's Introduction

QWC2 Documentation

Published at qwc-services.github.io.

Local build

Full build, fetching the service configuration schemas and plugin reference:

./build.sh --update

Build using previously downloaded service configuration schemas and plugin reference:

./build.sh

qwc-docker's People

Contributors

cazitouni avatar husseinkabbout avatar katxeus avatar manisandro avatar mwa avatar pka avatar tpo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qwc-docker's Issues

Deploying qwc-docker to server

I'm trying to deploy a simple qwc-docker configuration to a production server and manage it with gitlab runner. I have a working localhost configuration, but I'm not sure how to set up it for a production use. Is there any documentation for that. I've searched but found nothing. Many thanks for your help

I can't start containers in Mac M1

compiled with version: 10.3.1 20210921 on 05 April 2021 18:18:03
2022-11-30T14:30:13.257993917Z os: Linux-5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022
2022-11-30T14:30:13.258142001Z nodename: 1f45c80784e3
2022-11-30T14:30:13.258151042Z machine: x86_64
2022-11-30T14:30:13.258187376Z clock source: unix
2022-11-30T14:30:13.258262834Z pcre jit disabled
2022-11-30T14:30:13.258301917Z detected number of CPU cores: 5
2022-11-30T14:30:13.258345501Z current working directory: /
2022-11-30T14:30:13.258452834Z detected binary path: /usr/sbin/uwsgi
2022-11-30T14:30:13.258856126Z uWSGI running as root, you can use --uid/--gid/--chroot options
2022-11-30T14:30:13.258861542Z setgid() to 33
2022-11-30T14:30:13.260105042Z setuid() to 33
2022-11-30T14:30:13.260280584Z chdir() to /srv/qwc_service
2022-11-30T14:30:13.260538501Z your memory page size is 4096 bytes
2022-11-30T14:30:13.260724876Z detected max file descriptor number: 1048576
2022-11-30T14:30:13.260838167Z lock engine: pthread robust mutexes
2022-11-30T14:30:13.261077292Z unable to set PTHREAD_PRIO_INHERIT

QGis raster layer as background layer

I have a QGis project saved in the PostgreSql with three layers saved in the same database (two vector layers and a raster layer). As it is the webapp shows the three layers inside the theme and renders the map without issue.

I would like the raster layer to be a background layer (not show up in the list of theme layers, show up as a background layer).

From other answers elsewhere I take the hint that I should use a relative path but can't seem to find a good example for that. The same issue seems to suggest that I should create a separate theme (project) for the raster layer, maybe.

Internal Server Error

Hello,

Does anyone know what could be the cause of this problem (see image below)
issue111

Thanks in advance

QGIS 3 image

The current QGIS Server Dockerfile is on Version 2.18.28. We should have an additional QGIS 3 image.

QWC2 running as django app

Hello, is it possible to run it as django app in my existing django website? What steps should I follow to acheive it? Thank you in advance!

Production use information request

Hello everyone,

For production use is it better to use docker-compose and scale multiple instance of qgis server or use docker swarm/stack with multiple instance of qgis server ?
And do you recommend any configuration ?

Thanks in advance.

Have a great day!

SSL enforcement - ERR_SSL_PROTOCOL_ERROR

Hey everyone,

I followed the steps from the quick start guide, the containers are running, but when I try to go to http://localhost:8088, I am always automatically forwarded to https://localhost:8088 (SSL).
There I get an ERR_SSL_PROTOCOL_ERROR in my browser.
I'm not sure where to disable SSL and if it is even supposed to be enforced by default. I haven't changed anything and just followed the steps described.
When I try to connect, I can see in the logs:

qwc-docker-qwc-api-gateway-1 | 172.18.0.1 - - [22/Nov/2022:23:58:58 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03[\xF5\x7F\x17N\xD3-\xBA\x9D\x97@}\xDF,\x1D\xD2w.\x88\xC9\x19o\xF8`%S\xEA\xF4\xA7\xD9" 400 150 "-" "-" "-"
qwc-docker-qwc-api-gateway-1 | 172.18.0.1 - - [22/Nov/2022:23:58:58 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x15M\xA4M|\xCA\xE0\x8D7!\xD8\xAB\x88\xF2\xBC\x18_\xD9\x95\x91\xEFUG\xE9\xAE\x1A\xF32\xCA\xEE\xC6\x97 !5\xAB\xA0>\xFEJ\xDC\xF2\xCC\xE83y\xC2\xC0\xF6\xCB\xA8\x00L\xCF\xEA0\xBE1\xC5|\x8F\x14Sg^\x00 **\x13\x01\x13\x02\x13\x03\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00/\x005\x01\x00\x01\x93\xEA\xEA\x00\x00\x00\x00\x00\x0E\x00\x0C\x00\x00\x09localhost\x00\x17\x00\x00\xFF\x01\x00\x01\x00\x00" 400 150 "-" "-" "-"

ASCII in the log output doesn't seem right.
I tried to convert it but it's just gibberish.
Can anyone help?

error message when docker-compose up qwc-fulltext-search-service

Docker usage
To run this docker image you will need a running Solr search service.

solr dashboard is on http://localhost:8983/solr/#/

docker-compose up qwc-fulltext-search-service sends the error message

ERROR: for qwc-solr Cannot start service qwc-solr: driver failed programming external connectivity on endpoint qwc-docker_qwc-solr_1 (fb79d10cff31cf547f856da93c0908604b326eb6641183bc0a5db051b0edac40): Error starting userland proxy: listen tcp 127.0.0.1:8983: bind: address already in use

How to https://maps.example.com

Question: How to set up qwc-docker to be addressable via https (on the default https port 443), using letsencrypt certbot?

Expected result: A user should type into his browser https://maps.example.com and see the complete qwc-service web map.

Background:

I am trying to set up qwc-docker in a publicly facing production environment, such that https://maps.example.com brings up the qwc2 map server and related services. Conceptually, it should be easy, and I have tried everything I can think of, but no luck.

Tried so far:

I was able to install qwc-docker on the server, which is solely dedicated to qwc-docker (i.e., not multi-tenant). The default configuration worked-- http://maps.example.com:8088 brought up the server as expected. But the connection is insecure, and many client web browsers are configured for https only. (Also, the information that will be on the map is proprietary to our company, so security matters.)

I have installed HTTPS certificates on the host server via letsencrypt, and https://maps.example.com brings up the default.html page on the server.

However, I have struggled to implement https on the qwc-docker, spending two days banging my head against the wall. I have used this how-to article and read many others. (I have no particular attachment to any particular implementation.)

Related issues:

On issue 64, tpo said:

In production you will maybe tweak a thing or another but that depends on what you need. F.ex.: HTTPS certificates via certbot

That's exactly what I'm trying to do.

Server environment: Debian Testing/trixie

adding a new qgis project using costom postgis connection

I'm trying to add a new qgis project but I'm failing.
we define volumes for pg_service file in other containers but qwc-qgis-server container.
qwc-qgis-server image contains a different pg_service file I think.
How can we define a new postgis connection for qwc-qgis-server.
Thanks in advance.

Conflicting port numbers in docker-compose

I followed the instructions in the README and then ran sudo docker-compose up -d.
It fails with the following error:

Starting qwc-docker_qwc-postgis_1              ... done
Starting qwc-docker_jasper-reporting-service_1 ... done
Starting qwc-docker_qwc-qgis-server_1          ... done
Starting qwc-docker_qwc-elevation-service_1    ... done
Starting qwc-docker_qwc-document-service_1     ... done
Starting qwc-docker_qwc-mapinfo-service_1      ... done
Starting qwc-docker_qwc-feature-info-service_1 ... done
Starting qwc-docker_qwc-ogc-service_1          ... done
Starting qwc-docker_qwc-legend-service_1       ... done
Starting qwc-docker_qwc-admin-gui_1            ... 
Starting qwc-docker_qwc-auth-service_1         ... 
Starting qwc-docker_qwc-data-service_1         ... 
Starting qwc-docker_qwc-registration-gui_1     ... 
Starting qwc-docker_qwc-admin-gui_1            ... done
Starting qwc-docker_qwc-auth-service_1            ... done
Starting qwc-docker_qwc-data-service_1            ... done
Starting qwc-docker_qwc-registration-gui_1     ... done
Starting qwc-docker_qwc-config-service_1          ... done
Starting qwc-docker_qwc-solr_1                 ... donee_1 (ae5b6956d83888e4fb0b4309404ced7bdb77c334b2cf8023825bd08218528d27): Bind for 127.0.0.1:5018 failed: port is already allocated
Starting qwc-docker_qwc-fulltext-search-service_1 ... done
Starting qwc-docker_qwc-map-viewer_1              ... done
Starting qwc-docker_qwc-api-gateway_1             ... done

ERROR: for qwc-permalink-service  Cannot start service qwc-permalink-service: driver failed programming external connectivity on endpoint qwc-docker_qwc-permalink-service_1 (ae5b6956d83888e4fb0b4309404ced7bdb77c334b2cf8023825bd08218528d27): Bind for 127.0.0.1:5018 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.**
**

In the docker-compose file, the qwc-permalink-service and qwc-document-service indeed use the same port 5018.

After changing one of them to 5019, I can start up the app, but not sure if that has any side-effects.

Best,
Gregor

qwc-config-db and qwc-services-core docker tag or branch error

Hi;
I'm new here. I'm trying to setup QWC from docker. While docker-composer Building process it throws some errors below:

Collecting qwc-config-db from git+https://github.com/qwc-services/qwc-config-db.git@ee33dc8c0a0b405949e062036ee29b01bc4687b5#egg=qwc-config-db (from -r /srv/qwc-registration-gui/requirements.txt (line 9))
Cloning https://github.com/qwc-services/qwc-config-db.git (to ee33dc8c0a0b405949e062036ee29b01bc4687b5) to /tmp/pip-build-f61n7wcm/qwc-config-db
Could not find a tag or branch 'ee33dc8c0a0b405949e062036ee29b01bc4687b5', assuming commit.
Collecting qwc-services-core from git+https://github.com/qwc-services/qwc-services-core.git@d53015462234c787465252f952b4cb0d6dcb1641#egg=qwc-services-core (from -r /srv/qwc-registration-gui/requirements.txt (line 10))
Cloning https://github.com/qwc-services/qwc-services-core.git (to d53015462234c787465252f952b4cb0d6dcb1641) to /tmp/pip-build-f61n7wcm/qwc-services-core
Could not find a tag or branch 'd53015462234c787465252f952b4cb0d6dcb1641', assuming commit.

And then I run docker-compose up -d process and everything looks good but I can see only map viewer (but no sample data) in my browser. /qwc_admin page throw "internal server error"
When I look up the docker-compose logs I see some errors below:

qwc-auth-service_1 : raise Exception("Install 'email_validator' for email validation support.")
qwc-config-service_1 : *** Python threads support is disabled. You can enable it with --enable-threads ***
qwc-auth-service_1 : --- no python application found, check your startup logs for errors ---

etc.

Am I doing something wrong? Help me please. I really have been struggling with this for a week.
Thanks in advance.

Access to data in default qgs project

QGIS doesn’t connect to postgres datasets that come with QWC2

DETAILS
QGS file in /GIS/qwc-docker/volumes/qgs-resources/ does not open in QGIS (qgis.org).

I can connect to DB from within qgis but the files used to make the home page are not accessible.
We need access to this db to be able to modify the demo with our own data.

Checked user and password in readme but it won't work

qwc-fulltext-search in production

I have this problem:

  1. Using a gitlab_ci workflow, the solr service start, but there is the following permission issue:
    cp: cannot create regular file '/var/solr/data/solr.xml': Permission denied
    The workaround is to docker restart qwc-solr, server side

  2. After restarting qwc-solr, the search does not work through the search bar, but by copying the url (obtained from the localhost search request) and change localhost:8088 with the server address name I'm getting the good queried object.

Where I'm wrong?

API Route & Reachable

Hi,

I just install qwc-service using docker,

I want to ask about API Route & Reachable like in QWC2 (Standalone), How can I install in this docker..?

image

Thanks You,

Error on generating service configuration

I can add new resources etc but when I click on 'Generate service config' - I get an 'Error while refreshing config cache:'

jquery.min.js:4          POST http://1111:8088/qwc_admin/generate_configs 504 (Gateway Time-out)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
n.<computed> @ jquery.min.js:4
(anonymous) @ (index):125
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3

The Map Services run fine.

Here's the full log

Request URL: http://111111:8088/qwc_admin/generate_configs
Request Method: POST
Status Code: 504 Gateway Time-out
Remote Address: 111111:8088
Referrer Policy: strict-origin-when-cross-origin
Connection: keep-alive
Content-Length: 494
Content-Type: text/html
Date: Mon, 28 Feb 2022 04:19:16 GMT
ETag: "6075b537-1ee"
Server: nginx
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-AU,en-GB;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Content-Length: 102
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: csrftoken=IWX8l6wDFBeROpGtDSWSxwxeFrBKHJ9npGhEP06zt9x4gx2I4wM2yOvr8thIFRiw; sessionid=lsk9vwxoi979eid8m4ipqww2lzsic3bh; access_token_cookie=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY0NjAxOTY1NSwianRpIjoiOTE4OWQ4ZDUtMTU5ZS00YzA5LThhYWEtZTFhMWFhOGI0ZGE1IiwidHlwZSI6ImFjY2VzcyIsInN1YiI6ImFkbWluIiwibmJmIjoxNjQ2MDE5NjU1LCJjc3JmIjoiYzBiNmQ5MDktYmJkNy00NjdkLTg4NjktNDQ0ZmJmYjI2OTA0IiwiZXhwIjoxNjQ2MDYyODU1fQ.sZ7yXDYzl6Ry5lwnVbxRJ_q71yd7HERNHxKF1QvpaLo; csrf_access_token=c0b6d909-bbd7-467d-8869-444fbfb26904; session=.eJwtjktqBDEMBe_idRaWbFnWXKaR9WGGQALdM6uQu48DWVbB49VPOfKM615uz_MVH-V4eLkVCMaAkITekbohug6PkYCIqdosCcRT6xrVmsBk29TNNbAqNWqNpa6sjLamdYa97D4n9jooYCXL1rZkMAETErqTSpszW1LZIa8rzv-ajXadeTy_P-NrC-TVsP5daIilGWksdFGwIEJc1FWrtPL7Bt1SPy8.YhxE5A.FZY8A4w2f6tMTKUUZOfHAmShZzM
Host: 111111:8088
Origin: http://111111:8088
Referer: http://111111:8088/qwc_admin/
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
X-Requested-With: XMLHttpRequest

This is on Ubuntu 20.04

postgis persistent

Hi,

I try to keep my database persistent by adding the following to the docker-compose.yml file:

qwc-postgis:
image: sourcepole/qwc-demo-db
# build:
# context: ./postgis
# args:
# - ALEMBIC_VERSION=c77774920e5b
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
ports:
- "127.0.0.1:5439:5432"
volumes:
- ./volumes/postgisdb:/var/lib/postgresql/docker

The postgresql database is running and can be queried.

When calling the qwc_admin_gui in the browser
http://localhost:8088/auth/login?url=http://localhost:8088/qwc_admin/

the following error occurs:

Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Docker Logs say:

qwc-auth-service_1 | [2021-03-10 15:55:34,522] ERROR in app: Exception on /login [GET]
qwc-auth-service_1 | Traceback (most recent call last):
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
qwc-auth-service_1 | response = self.full_dispatch_request()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
qwc-auth-service_1 | rv = self.handle_user_exception(e)
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
qwc-auth-service_1 | reraise(exc_type, exc_value, tb)
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
qwc-auth-service_1 | raise value
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
qwc-auth-service_1 | rv = self.dispatch_request()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
qwc-auth-service_1 | return self.view_functionsrule.endpoint
qwc-auth-service_1 | File "./server.py", line 79, in login
qwc-auth-service_1 | return db_auth_handler().login()
qwc-auth-service_1 | File "./server.py", line 68, in db_auth_handler
qwc-auth-service_1 | 'handler', tenant, DBAuth(tenant, mail, app))
qwc-auth-service_1 | File "./db_auth.py", line 80, in init
qwc-auth-service_1 | self.config_models = ConfigModels(db_engine, db_url)
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/qwc_services_core/config_models.py", line 27, in init
qwc-auth-service_1 | self.init_models()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/qwc_services_core/config_models.py", line 74, in init_models
qwc-auth-service_1 | Base.prepare()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/sqlalchemy/ext/automap.py", line 820, in prepare
qwc-auth-service_1 | map_config.map()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/sqlalchemy/ext/declarative/base.py", line 765, in map
qwc-auth-service_1 | return super(_DeferredMapperConfig, self).map()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/sqlalchemy/ext/declarative/base.py", line 696, in map
qwc-auth-service_1 | self.cls, self.local_table, **self.mapper_args
qwc-auth-service_1 | File "", line 2, in mapper
qwc-auth-service_1 | File "", line 2, in init
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/sqlalchemy/util/deprecations.py", line 128, in warned
qwc-auth-service_1 | return fn(*args, **kwargs)
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py", line 716, in init
qwc-auth-service_1 | self._configure_pks()
qwc-auth-service_1 | File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py", line 1397, in _configure_pks
qwc-auth-service_1 | % (self, self.persist_selectable.description)
qwc-auth-service_1 | sqlalchemy.exc.ArgumentError: Mapper mapped class User->users could not assemble any primary key columns for mapped table 'users'
qwc-auth-service_1 | [pid: 6|app: 0|req: 4/4] 192.168.144.15 () {56 vars in 1119 bytes} [Wed Mar 10 15:55:34 2021] GET /auth/login?url=http://localhost:8088/qwc_admin/ => generated 290 bytes in 38 msecs (HTTP/1.0 500) 2 headers in 84 bytes (1 switches on core 2)
qwc-api-gateway_1 | 192.168.144.1 - - [10/Mar/2021:15:55:34 +0000] "GET /auth/login?url=http://localhost:8088/qwc_admin/ HTTP/1.1" 500 290 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36" "-"
qwc-map-viewer_1 | [pid: 6|app: 0|req: 4/4] 192.168.144.15 () {54 vars in 1005 bytes} [Wed Mar 10 15:55:34 2021] GET /favicon.ico => generated 232 bytes in 5 msecs (HTTP/1.0 404) 2 headers in 72 bytes (1 switches on core 2)
qwc-api-gateway_1 | 192.168.144.1 - - [10/Mar/2021:15:55:34 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "http://localhost:8088/auth/login?url=http://localhost:8088/qwc_admin/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36" "-"

What am I doing wrong?
Cheers Joerg

Adding editable layer to a new project

Hello.

I can add a new project to QWC2 using WFS. But how can I add an editable layer to a new project? If I add an editable layer from a demo project to my own project from Postgres, an error occurs during configuration.

Editable layers from external Postgres database

I successfully added some editable layers that lie on the container PostGIS database (e.g., by setting the service to qwc_geodb). I can edit layer from the map viewer and all work just fine.

Now, I would like to make the same with a layer that lie on an external PostGIS database (e.g. polygon_test). I'm able to view the layer and activate the editing on this layer, but when I start to edit, I have this error:

image

However, the service PatInfra is well-defined in pg_service.conf (I'm able to see layers coming from this service). I'm not sure where I'm wrong. Has someone any hints?

questions: structure of maps and resources

Hi everyone,

I have compiled some questions regarding the structure of the maps and resources in the admin gui and the qwc-services as a whole;

  • What is the purpose of the 'resources' in the admin gui?
    • Do they in any way control the data available in the qwc_demo database?
    • In that case, how do I view those resources in the map-viewer?
    • Can I create new maps in the 'resources' tab and make them available in the map-viewer?
  • Is it possible to publish a QGIS project file onto the QGIS-server container and view it in the map-viewer?
    • In that case, how?
  • What is the relation between the QGIS-server and the qwc-ogc-service container?

I refer these questions to @pka and @HusseinKabbout, hopefully you are in a position to answer.
If there are any unclarities, please do not hesitate to comment.

Best regards

Connection to a PostGIS server

I successfully been able to add a test project with local shapefiles. Now I would like to move further and setting up a connection to a PostGIS database that lies on a Postgres server. I tried to add the connection infos in /pg_service.conf file, but it seems to not detect the layer, after generating the configuration via the Admin GUI. I followed these instructions, but I should make some mistake somewhere.

Can't start container

I installed qgis server well at my arm64 linux machine.
I want to set up qwc-docker at the same server.
However, container couldn't start at all.
The followings are docker-compose logs after docker-compose restart.

Thank you for your great project!

qwc-solr_1                     | 2022-09-21 03:05:51.418 INFO  (JettyShutdownThread) [   ] o.e.j.s.session node0 Stopped scavenging
qwc-solr_1                     | 2022-09-21 03:05:51.421 INFO  (JettyShutdownThread) [   ] o.a.s.c.CoreContainer Shutting down CoreContainer instance=964981922
qwc-solr_1                     | 2022-09-21 03:05:51.425 INFO  (coreCloseExecutor-21-thread-1) [   ] o.a.s.c.SolrCore [gdi]  CLOSING SolrCore org.apache.solr.core.SolrCore@75eaa53e
qwc-solr_1                     | 2022-09-21 03:05:51.425 INFO  (coreCloseExecutor-21-thread-1) [   ] o.a.s.m.SolrMetricManager Closing metric reporters for registry=solr.core.gdi tag=SolrCore@75eaa53e
qwc-solr_1                     | 2022-09-21 03:05:51.425 INFO  (coreCloseExecutor-21-thread-1) [   ] o.a.s.m.r.SolrJmxReporter Closing reporter [org.apache.solr.metrics.reporters.SolrJmxReporter@88639a0: rootName = null, domain = solr.core.gdi, service url = null, agent id = null] for registry solr.core.gdi/com.codahale.metrics.MetricRegistry@6f43b84f
qwc-solr_1                     | 2022-09-21 03:05:51.469 INFO  (coreCloseExecutor-21-thread-1) [   ] o.a.s.u.DirectUpdateHandler2 Committing on IndexWriter.close()  ... SKIPPED (unnecessary).
qwc-solr_1                     | 2022-09-21 03:05:51.492 INFO  (JettyShutdownThread) [   ] o.a.s.m.SolrMetricManager Closing metric reporters for registry=solr.node tag=null
qwc-solr_1                     | 2022-09-21 03:05:51.492 INFO  (JettyShutdownThread) [   ] o.a.s.m.r.SolrJmxReporter Closing reporter [org.apache.solr.metrics.reporters.SolrJmxReporter@25673087: rootName = null, domain = solr.node, service url = null, agent id = null] for registry solr.node/com.codahale.metrics.MetricRegistry@4bbb7d42
qwc-solr_1                     | 2022-09-21 03:05:51.495 INFO  (JettyShutdownThread) [   ] o.a.s.m.SolrMetricManager Closing metric reporters for registry=solr.jvm tag=null
qwc-solr_1                     | 2022-09-21 03:05:51.496 INFO  (JettyShutdownThread) [   ] o.a.s.m.r.SolrJmxReporter Closing reporter [org.apache.solr.metrics.reporters.SolrJmxReporter@4c5228e7: rootName = null, domain = solr.jvm, service url = null, agent id = null] for registry solr.jvm/com.codahale.metrics.MetricRegistry@20914d7d
qwc-solr_1                     | 2022-09-21 03:05:51.498 INFO  (JettyShutdownThread) [   ] o.a.s.m.SolrMetricManager Closing metric reporters for registry=solr.jetty tag=null
qwc-solr_1                     | 2022-09-21 03:05:51.498 INFO  (JettyShutdownThread) [   ] o.a.s.m.r.SolrJmxReporter Closing reporter [org.apache.solr.metrics.reporters.SolrJmxReporter@38e7ed69: rootName = null, domain = solr.jetty, service url = null, agent id = null] for registry solr.jetty/com.codahale.metrics.MetricRegistry@5ad7bc37
qwc-solr_1                     | 2022-09-21 03:05:51.519 INFO  (JettyShutdownThread) [   ] o.e.j.s.h.ContextHandler Stopped o.e.j.w.WebAppContext@18245eb0{/solr,null,STOPPED}{/opt/solr-8.11.1/server/solr-webapp/webapp}
qwc-solr_1                     | Executing /opt/docker-solr/scripts/solr-precreate gdi /gdi_conf
qwc-solr_1                     | Executing /opt/docker-solr/scripts/precreate-core gdi /gdi_conf
qwc-solr_1                     | Core gdi already exists
qwc-solr_1                     | Starting Solr 
qwc-solr_1                     | OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
qwc-solr_1                     | OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
qwc-solr_1                     | OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 1)
qwc-solr_1                     | 2022-09-21 03:05:55.551 INFO  (main) [   ] o.e.j.u.log Logging initialized @828ms to org.eclipse.jetty.util.log.Slf4jLog
qwc-solr_1                     | 2022-09-21 03:05:55.763 INFO  (main) [   ] o.e.j.s.Server jetty-9.4.44.v20210927; built: 2021-09-27T23:02:44.612Z; git: 8da83308eeca865e495e53ef315a249d63ba9332; jvm 11.0.15+10
qwc-solr_1                     | 2022-09-21 03:05:55.774 INFO  (main) [   ] o.e.j.d.p.ScanningAppProvider Deployment monitor [file:///opt/solr-8.11.1/server/contexts/] at interval 0
qwc-solr_1                     | 2022-09-21 03:05:56.013 INFO  (main) [   ] o.e.j.w.StandardDescriptorProcessor NO JSP Support for /solr, did not find org.apache.jasper.servlet.JspServlet
qwc-solr_1                     | 2022-09-21 03:05:56.031 INFO  (main) [   ] o.e.j.s.session DefaultSessionIdManager workerName=node0
qwc-solr_1                     | 2022-09-21 03:05:56.032 INFO  (main) [   ] o.e.j.s.session No SessionScavenger set, using defaults
qwc-solr_1                     | 2022-09-21 03:05:56.034 INFO  (main) [   ] o.e.j.s.session node0 Scavenging every 660000ms
qwc-solr_1                     | 2022-09-21 03:05:56.096 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter Using logger factory org.apache.logging.slf4j.Log4jLoggerFactory
qwc-docker_qwc-permalink-service_1 exited with code 1
qwc-docker_qwc-postgis_1 exited with code 1
qwc-solr_1                     | 2022-09-21 03:05:56.099 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 8.11.1
qwc-solr_1                     | 2022-09-21 03:05:56.100 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in standalone mode on port 8983
qwc-solr_1                     | 2022-09-21 03:05:56.100 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: /opt/solr
qwc-solr_1                     | 2022-09-21 03:05:56.100 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2022-09-21T03:05:56.100411Z
qwc-solr_1                     | 2022-09-21 03:05:56.133 INFO  (main) [   ] o.a.s.c.SolrPaths Using system property solr.solr.home: /var/solr/data
qwc-solr_1                     | 2022-09-21 03:05:56.134 INFO  (main) [   ] o.a.s.c.SolrXmlConfig Loading container configuration from /var/solr/data/solr.xml
qwc-solr_1                     | 2022-09-21 03:05:56.210 INFO  (main) [   ] o.a.s.c.SolrXmlConfig MBean server found: com.sun.jmx.mbeanserver.JmxMBeanServer@3f4faf53, but no JMX reporters were configured - adding default JMX reporter.
qwc-solr_1                     | 2022-09-21 03:05:56.859 INFO  (main) [   ] o.a.s.h.c.HttpShardHandlerFactory Host whitelist initialized: WhitelistHostChecker [whitelistHosts=null, whitelistHostCheckingEnabled=true]
qwc-solr_1                     | 2022-09-21 03:05:56.989 WARN  (main) [   ] o.e.j.u.s.S.config Trusting all certificates configured for Client@30e6a763[provider=null,keyStore=null,trustStore=null]
qwc-solr_1                     | 2022-09-21 03:05:56.990 WARN  (main) [   ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@30e6a763[provider=null,keyStore=null,trustStore=null]
qwc-solr_1                     | 2022-09-21 03:05:57.172 WARN  (main) [   ] o.e.j.u.s.S.config Trusting all certificates configured for Client@5c8e67b9[provider=null,keyStore=null,trustStore=null]
qwc-solr_1                     | 2022-09-21 03:05:57.172 WARN  (main) [   ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@5c8e67b9[provider=null,keyStore=null,trustStore=null]
qwc-solr_1                     | 2022-09-21 03:05:57.215 WARN  (main) [   ] o.a.s.c.CoreContainer Not all security plugins configured!  authentication=disabled authorization=disabled.  Solr is only as secure as you make it. Consider configuring authentication/authorization before exposing Solr to users internal or external.  See https://s.apache.org/solrsecurity for more info
qwc-solr_1                     | 2022-09-21 03:05:57.361 INFO  (main) [   ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient core cache for max 2147483647 cores with initial capacity of 1024
qwc-solr_1                     | 2022-09-21 03:05:57.370 INFO  (main) [   ] o.a.s.h.a.MetricsHistoryHandler No .system collection, keeping metrics history in memory.
qwc-solr_1                     | 2022-09-21 03:05:57.435 INFO  (main) [   ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr.node' (registry 'solr.node') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@3f4faf53
qwc-solr_1                     | 2022-09-21 03:05:57.436 INFO  (main) [   ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr.jvm' (registry 'solr.jvm') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@3f4faf53
qwc-solr_1                     | 2022-09-21 03:05:57.437 INFO  (main) [   ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr.jetty' (registry 'solr.jetty') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@3f4faf53
qwc-solr_1                     | 2022-09-21 03:05:57.466 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Found 1 core definitions underneath /var/solr/data
qwc-solr_1                     | 2022-09-21 03:05:57.467 INFO  (main) [   ] o.a.s.c.CorePropertiesLocator Cores are: [gdi]
qwc-solr_1                     | 2022-09-21 03:05:57.523 INFO  (main) [   ] o.e.j.s.h.ContextHandler Started o.e.j.w.WebAppContext@18245eb0{/solr,file:///opt/solr-8.11.1/server/solr-webapp/webapp/,AVAILABLE}{/opt/solr-8.11.1/server/solr-webapp/webapp}
qwc-solr_1                     | 2022-09-21 03:05:57.531 WARN  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.c.SolrConfig Couldn't add files from /opt/solr/contrib/clustering/lib filtered by .*\.jar to classpath: java.nio.file.NoSuchFileException: /opt/solr/contrib/clustering/lib
qwc-solr_1                     | 2022-09-21 03:05:57.540 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.c.SolrResourceLoader Added 58 libs to classloader, from paths: [/opt/solr/contrib/extraction/lib, /opt/solr/contrib/langid/lib, /opt/solr/contrib/velocity/lib, /opt/solr/dist, /var/solr/data/gdi/conf/lib]
qwc-solr_1                     | 2022-09-21 03:05:57.542 INFO  (main) [   ] o.e.j.s.AbstractConnector Started ServerConnector@1755e85b{HTTP/1.1, (http/1.1, h2c)}{0.0.0.0:8983}
qwc-solr_1                     | 2022-09-21 03:05:57.543 INFO  (main) [   ] o.e.j.s.Server Started @2821ms
qwc-solr_1                     | 2022-09-21 03:05:57.750 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.c.SolrConfig Using Lucene MatchVersion: 7.7.1
qwc-solr_1                     | 2022-09-21 03:05:57.783 WARN  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.c.SolrConfig solrconfig.xml: <jmx> is no longer supported, use solr.xml:/metrics/reporter section instead
qwc-solr_1                     | 2022-09-21 03:05:57.822 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.s.IndexSchema Schema name=default-config
qwc-solr_1                     | 2022-09-21 03:05:58.072 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.s.IndexSchema Loaded schema default-config/1.6 with uniqueid field id
qwc-solr_1                     | 2022-09-21 03:05:58.085 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.c.CoreContainer Creating SolrCore 'gdi' using configuration from instancedir /var/solr/data/gdi, trusted=true
qwc-solr_1                     | 2022-09-21 03:05:58.110 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr.core.gdi' (registry 'solr.core.gdi') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@3f4faf53
qwc-solr_1                     | 2022-09-21 03:05:58.123 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.c.SolrCore [[gdi] ] Opening new SolrCore at [/var/solr/data/gdi], dataDir=[/var/solr/data/gdi/data/]
qwc-solr_1                     | 2022-09-21 03:05:58.152 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.r.XSLTResponseWriter xsltCacheLifetimeSeconds=5
qwc-solr_1                     | 2022-09-21 03:05:58.562 WARN  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.h.d.DataImportHandler Data Import Handler is deprecated as of Solr 8.6. See SOLR-14066 for more details.
qwc-solr_1                     | 2022-09-21 03:05:58.583 WARN  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.h.d.DataImportHandler Data Import Handler is deprecated as of Solr 8.6. See SOLR-14066 for more details.
qwc-solr_1                     | 2022-09-21 03:05:58.599 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.u.UpdateHandler Using UpdateLog implementation: org.apache.solr.update.UpdateLog
qwc-solr_1                     | 2022-09-21 03:05:58.599 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.u.UpdateLog Initializing UpdateLog: dataDir= defaultSyncLevel=FLUSH numRecordsToKeep=100 maxNumLogsToKeep=10 numVersionBuckets=65536
qwc-solr_1                     | 2022-09-21 03:05:58.608 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.u.CommitTracker Hard AutoCommit: if uncommitted for 15000ms; 
qwc-solr_1                     | 2022-09-21 03:05:58.608 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.u.CommitTracker Soft AutoCommit: disabled
qwc-solr_1                     | 2022-09-21 03:05:58.678 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.r.ManagedResourceStorage File-based storage initialized to use dir: /var/solr/data/gdi/conf
qwc-solr_1                     | 2022-09-21 03:05:58.689 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.h.c.SpellCheckComponent Initializing spell checkers
qwc-solr_1                     | 2022-09-21 03:05:58.695 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.s.DirectSolrSpellChecker init: {name=default,field=_text_,classname=solr.DirectSolrSpellChecker,distanceMeasure=internal,accuracy=0.5,maxQueryFrequency=0.01,maxEdits=2,minPrefix=1,maxInspections=5,minQueryLength=4}
qwc-solr_1                     | 2022-09-21 03:05:58.707 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.h.ReplicationHandler Commits will be reserved for 10000 ms
qwc-solr_1                     | 2022-09-21 03:05:58.714 INFO  (coreLoadExecutor-13-thread-1) [   x:gdi] o.a.s.u.UpdateLog Could not find max version in index or recent updates, using new clock 1744546885758091264
qwc-solr_1                     | 2022-09-21 03:05:58.719 INFO  (searcherExecutor-15-thread-1-processing-x:gdi) [   x:gdi] o.a.s.c.QuerySenderListener QuerySenderListener done.
qwc-solr_1                     | 2022-09-21 03:05:58.719 INFO  (searcherExecutor-15-thread-1-processing-x:gdi) [   x:gdi] o.a.s.h.c.SpellCheckComponent Loading spell index for spellchecker: default
qwc-solr_1                     | 2022-09-21 03:05:58.727 INFO  (searcherExecutor-15-thread-1-processing-x:gdi) [   x:gdi] o.a.s.c.SolrCore [gdi]  Registered new searcher autowarm time: 0 ms
qwc-docker_qwc-qgis-server_1 exited with code 1

Added another logs from qwc-docker_qwc-api-gateway_1

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up

2022/09/21 02:37:32 [emerg] 1#1: host not found in upstream "qwc-map-viewer" in /etc/nginx/conf.d/default.conf:17
\nginx: [emerg] host not found in upstream "qwc-map-viewer" in /etc/nginx/conf.d/default.conf:17
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up

2022/09/21 02:44:36 [emerg] 1#1: host not found in upstream "qwc-map-viewer" in /etc/nginx/conf.d/default.conf:17
nginx: [emerg] host not found in upstream "qwc-map-viewer" in /etc/nginx/conf.d/default.conf:17
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up

2022/09/21 02:59:28 [emerg] 1#1: host not found in upstream "qwc-auth-service" in /etc/nginx/conf.d/default.conf:21
nginx: [emerg] host not found in upstream "qwc-auth-service" in /etc/nginx/conf.d/default.conf:21
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up

2022/09/21 03:05:53 [emerg] 1#1: host not found in upstream "qwc-map-viewer" in /etc/nginx/conf.d/default.conf:17
nginx: [emerg] host not found in upstream "qwc-map-viewer" in /etc/nginx/conf.d/default.conf:17

qwc-solr Permission error

Hi;
I noticed this error when I look at the docker-compose logs;

qwc-solr_1                     | Copying solr.xml
qwc-solr_1                     | cp: cannot create regular file '/var/solr/data/solr.xml': Permission denied
qwc-docker_qwc-solr_1 exited with code 1

I check my ubuntu permissions but there is no something wrong. I also use root user but there is the same error.

Failing to start on windows

Hi there,

I'm trying to test the QWC "Suite" on a windows machine, but I can't seem to get it working end up getting the following error from docker-compose build:

/tmp/docker-entrypoint.sh: /docker-entrypoint-initdb.d/0_setup-db.sh: /bin/bash^M: bad interpreter: No such file or directory
ERROR: Service 'qwc-postgis' failed to build: The command '/bin/sh -c gosu postgres bash /tmp/docker-entrypoint.sh postgres' returned a non-zero code: 126

I tried to resolve this by copying an empty docker-entrypoint.sh to /usr/local/bin/ at line 24 in the postgis Dockerfile, which kinda works, but then I end up with "unhealthy" containers for qwc-config-service and qwc-admin-gui.

Maybe this is also related to not knowing what the cat >>~/.pg_service.conf <<EOS command does (I entered the service configurations to each pg_service.conf in the subfolders). Could you help me out? I'd really like to see and test what the state of QWC and related services is...

Regards
Tobias

FlatGeobuf layers cannot be imported in ./volumes/qgs-resources/scan/

Whenever I try and import a map with .fgb files, it results in these errors:

qwc-qgis-server_1              | 22:55:42 WARNING OGR[105]: Cannot open [file-name].fgb ().()

This then results in:

qwc-qgis-server_1              | 22:55:42 WARNING Server[105]: <ServerException>Layer(s) not valid</ServerException>
qwc-qgis-server_1              | 
qwc-config-service_1           | [2022-04-25 22:55:42,094] CRITICAL in config_generator: Could not get GetProjectSettings from http://qwc-qgis-server/ows/scan/[map-name]:
qwc-config-service_1           | b'<ServerException>Layer(s) not valid</ServerException>\n'

I'm using the latest qwc-qgis-server docker image.

Does anyone know why this might be happening?

Images not running on MacOS with M1 chip.

When following the documentation on https://qwc-services.github.io/QuickStart/ and then running the docker-compose up command, a lot of the docker images are not running correctly. A lot of the images are closing. This is an example of one of the logs:

qwc-docker-qwc-map-viewer-1               | *** Starting uWSGI 2.0.19.1 (64bit) on [Mon Sep 18 11:41:50 2023] ***
qwc-docker-qwc-map-viewer-1               | compiled with version: 10.3.1 20210921 on 05 April 2021 18:18:03
qwc-docker-qwc-map-viewer-1               | os: Linux-6.3.13-linuxkit #1 SMP PREEMPT Thu Sep  7 07:48:47 UTC 2023
qwc-docker-qwc-map-viewer-1               | nodename: 310d78c2f10d
qwc-docker-qwc-map-viewer-1               | machine: x86_64
qwc-docker-qwc-map-viewer-1               | clock source: unix
qwc-docker-qwc-map-viewer-1               | pcre jit disabled
qwc-docker-qwc-map-viewer-1               | detected number of CPU cores: 4
qwc-docker-qwc-map-viewer-1               | current working directory: /
qwc-docker-qwc-map-viewer-1               | detected binary path: /usr/sbin/uwsgi
qwc-docker-qwc-map-viewer-1               | uWSGI running as root, you can use --uid/--gid/--chroot options
qwc-docker-qwc-map-viewer-1               | setgid() to 1000
qwc-docker-qwc-map-viewer-1               | setuid() to 1000
qwc-docker-qwc-map-viewer-1               | chdir() to /srv/qwc_service
qwc-docker-qwc-map-viewer-1               | your memory page size is 4096 bytes
qwc-docker-qwc-map-viewer-1               | detected max file descriptor number: 1048576
qwc-docker-qwc-map-viewer-1               | lock engine: pthread robust mutexes
qwc-docker-qwc-map-viewer-1               | unable to set PTHREAD_PRIO_INHERIT 

It looks like the docker images are not supporting my ARM64 MacOS M1. Any information/tips on how to resolve this issue?

QWC-docker Permission denied

Greetings everyone,

I'm new to qwc-services i started following these tutorials: https://qwc.sourcepole.com/quick-start/ https://docs.qgis.org/3.22/en/docs/server_manual/getting_started.html#serve-a-project
The firsts steps worked well, however i don't really understand how to add new qgis projects to the webmap, i tried to add a simple Qgis project qgs file with one shapefile layer i've put them to the folder volumes/config-in/default/qgis_projects/ as specified by the first tutorial but i get the following error (Note: i'm working on centOS)
issue

Another question should i edit the themesConfig file manually to add the project to the web client (demo app) ?
If you know a more detailled tutorial tell me please.

Thanks in advance.

Customizing qwc viewer inside qwc-docker

I followed these consigns to customize the viewer. Then I copied the prod folder from inside qwc-docker/qwc2. Now my tree is something like this:

Path Description
├─ ...
├─ qgs-resources/
├─ qwc2/
│ ├─ assets/
│ ├─ dist/
│ └─ prod/ copied with command cp -a SRCDIR/prod/ $DSTDIR/volumes/qwc2/
│ └─ .gitignore
├─ solr/

However, it doesn;t show up and at the console I have this error:

Failed to load resource: the server responded with a status of 404 (NOT FOUND) http://localhost:8088/dist/QWC2App.js

I think there is a problem in my tree. Should the prod folder be at the same level of dist and assets?

Multiple `db_url` connection in full-text search

I need to set up a full-text search from multiple data sources. This is fine from the solr side, however I wonder how to define two different db_url to retrieve the geometry

{
  "$schema": "https://raw.githubusercontent.com/qwc-services/qwc-fulltext-search-service/master/schemas/qwc-search-service.json",
  "service": "search",
  "config": {
    "solr_service_url": "http://localhost:8983/solr/gdi/select",
    "word_split_re": "[\\s,.:;\"]+",
    "search_result_limit": 50,
    "db_url": "postgresql:///?service=qwc_geodb"
  },
  "resources": {
    "facets": [
      {
        "name": "background",
        "filter_word": "Background"
      },
      {
        "name": "foreground",
        "filter_word": "Map"
      },
      {
        "name": "ne_10m_admin_0_countries",
        "filter_word": "Country",
        "table_name": "qwc_geodb.search_v",
        "geometry_column": "geom",
        "facet_column": "subclass"
      }
    ]
  }
}

Thanks in advance for your help

Authentication menu item doesn't seen

I follow all instructions in the document but Login and Logout menu items doesn't seen.

sed -e '/proxyServiceUrl/d' \
  -e 's!permalinkServiceUrl":\s*".*"!permalinkServiceUrl": "/permalink"!' \
  -e 's!elevationServiceUrl":\s*".*"!elevationServiceUrl": "/elevation"!' \
  -e 's!searchServiceUrl":\s*".*"!searchServiceUrl": "/search"!' \
  -e 's!editServiceUrl":\s*".*"!editServiceUrl": "/data"!' \
  -e 's!authServiceUrl":\s*".*"!authServiceUrl": "/auth"!' \
  -e 's!mapInfoService":\s*".*"!mapInfoService": "/mapinfo"!' \
  -e 's!featureReportService":\s*".*"!featureReportService": "/document"!' \
  -e 's!{"key": "Login", "icon": "img/login.svg"}!{{ login_logout_item }}!g' \
  config.json > $DSTDIR/qwc2/config.json

some of these lines are missing in the config.json;
There already are no some of these lines in the config.json of qwc2-demo-app file. So I add these lines in this file (eg. {{ login_logout_item }} ) but Login menu item doesn't seen.
Thanks.

pg_services.conf et al are world readable

As of today no special consideration is given to file permissions. Each container that is started has its own set of separate user UIDs, some that map to random other UIDs on the host. The services running inside the containers, each under some arbitrary UID, need access to pg_services.conf. In order to allow launching the services at all pg_services.conf is basicall world readable.

I propose to use the following approach to tackle this problem:

  • creating a new user (say user qwc) that will launch the containers
  • give that user a (standard) range of subuids
  • launching the container as a user
  • figure out which of the resulting subids need access to pg_services.conf (possibly other credentials such as .env?)
  • create a qwc-services user group
  • add all those subuids to that qwc-services user group
  • chgrp pg_services.conf to that user group
  • chmod o-rwx services.conf
  • repeat for all other files containing credentials

Wrong path of qwc-qgis-server demo config

I followed the instructions in the README and ran docker-compose up. When opening http://localhost:8088 the map panel stays blank and the server log shows:

qwc-qgis-server_1              | [96][15:35:12] Error, configuration file '/data/ows/qwc_demo.qgs' does not exist

Moving the qwc_demo.qgs to the right location as follows solves the problem:

mkdir volumes/qgs-resources/ows 
mv volumes/qgs-resources/qwc_demo.qgs volumes/qgs-resources/ows

Error on windows during container creation of qwc-docker_qwc-api-gateway_1

Following output is given after I've entered docker-compose up -d

Creating qwc-docker_qwc-api-gateway_1             ... error

ERROR: for qwc-docker_qwc-api-gateway_1  Cannot start service qwc-api-gateway: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/run/desktop/mnt/host/c/qwc/qwc-docker/api-gateway/nginx.conf" to rootfs at "/etc/nginx/conf.d/default.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for qwc-api-gateway  Cannot start service qwc-api-gateway: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/run/desktop/mnt/host/c/qwc/qwc-docker/api-gateway/nginx.conf" to rootfs at "/etc/nginx/conf.d/default.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

Any possibility to fix it for windows? I think it's about the usage of volumes and absolute paths

Problem with the "Administration tool"

Hello,

it would be very nice if someone could help me with problems with the administration tool.

As soon as I click on the "Generate service configuration"-button on the corresponding "QWC Admin" webfrontend, I still get errors.

As soon as the download of the project settings begins, the following error messages are displayed:

„CRITICAL: Could not get GetProjectSettings from http://localhost:8001/ows/qwc_demo:
HTTPConnectionPool(host='localhost', port=8001): Max retries exceeded with url: /ows/qwc_demo?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetProjectSettings&CLEARCACHE=1 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))
WARNING: Could not get capabilities for /ows/qwc_demo
INFO: Reading 'qwc_demo.qgs'“

I have the impression that the web server for the QGIS server is refusing the connection.
Do you have an idea what it could be?

I would be very grateful for your help.
I have attached the web output of the administration tool to the ticket.
admintool_output

qwc-qgis-server gets killed shortly after start

Hi folks,

I'm facing issues with the new version of qwc-qgis-server (v3.22-plugins). It runs for a few seconds and then gets killed:

docker-compose up qwc-qgis-server

WARNING: The JWT_SECRET_KEY variable is not set. Defaulting to a blank string.
Creating network "qwc-docker_default" with the default driver
Creating qwc-docker_qwc-qgis-server_1 ... done
Attaching to qwc-docker_qwc-qgis-server_1
qwc-qgis-server_1 | *** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
qwc-qgis-server_1 | *** Running /etc/my_init.d/10_syslog-ng.init...
qwc-qgis-server_1 | syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted'
qwc-qgis-server_1 | [2023-01-29T09:54:15.491867] file ../../../glib/gthread-posix.c: line 1339 (g_system_thread_new): error 'Operation not permitted' during 'pthread_create'
qwc-qgis-server_1 | /etc/my_init.d/10_syslog-ng.init: line 32: 13 Trace/breakpoint trap (core dumped) /usr/sbin/syslog-ng --pidfile "$PIDFILE" -F $SYSLOGNG_OPTS
qwc-qgis-server_1 | *** /etc/my_init.d/10_syslog-ng.init failed with status 1
qwc-qgis-server_1 |
qwc-qgis-server_1 | *** Killing all processes...
qwc-docker_qwc-qgis-server_1 exited with code 1

Any ideas how to fix this?

Kind regards,
Roman

Feature Info CSV Tabular export

Hello!

In this post I understand that this is for the standalone version, is there a way for me to change the export into tabular format? Below is the export format that I currently have:

parcelle,,
,gid,529100
,id,14118000IB0072
,commune,14118
,prefixe,0
,section,IB
,numero,72
,contenance,36281
,created,2001-09-28
,updated,2015-03-26
,geometry,"MULTIPOLYGON ... "
,,
commune,,
,gid,245
,id,14118
,nom,CAEN
,created,2001-11-22
,updated,2018-04-19
,geometry,"MULTIPOLYGON ... "

Thank You

error while running docker compose on ubuntu

...

Preparing to unpack .../util-linux_2.27.1-6ubuntu3.8_amd64.deb ... Unpacking util-linux (2.27.1-6ubuntu3.8) over (2.27.1-6ubuntu3.3) ... Processing triggers for mime-support (3.59ubuntu1) ... Setting up util-linux (2.27.1-6ubuntu3.8) ... Configuration file '/etc/cron.weekly/fstrim' ==> Deleted (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** fstrim (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package util-linux (--configure): end of file on stdin at conffile prompt Errors were encountered while processing: util-linux E: Sub-process /usr/bin/dpkg returned an error code (1) ERROR: Service 'qwc-qgis-server' failed to build: The command '/bin/sh -c apt-get update && apt-get upgrade -y' returned a non-zero code: 100

Show gpx on map

Hi
We made a portal to show off road roads for Poland.
It would be awesome if it was possible to show the gpx route on such a portal
is it possible in any way?

Piotr

infinite redirections when calling qwc-admin-gui container directly

When running docker-compose from qwc-services with the default configuration, loading

http://127.0.0.1:5031

creates an infinite chain of redirections :

http://127.0.0.1:5031 -> http://127.0.0.1:5031/auth/login?url=http://127.0.0.1:5031/ -> http://127.0.0.1:5031/auth/login?url=http://127.0.0.1:5031/auth/login?url=http:%2F%2F127.0.0.1:5031%2F -> ... -> http://127.0.0.1:5031/auth/login?url=http://127.0.0.1:5031/auth/login?url=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2Fauth%2Flogin%3Furl=http:%2F%2F127.0.0.1:5031%2F

Questions about renaming QWC2 elements

Hello!

  1. How i can renaming Themes? I need another name - Projects.
  2. I have several buttons in the menu with no name. Can I add arbitrary notation to them?
  3. How can I replace the links at the bottom of the screen that lead to the home page?

Thanks!

How to setup multi-tenant environment?

Hello!

I am trying to setup qwc-docker with multiple tenants. I created new directories and tenantConfig.json files for new tenants "tenant1" and "tenant2" as follows:

volumes/
    config-in/
      default
      tenant1/
          tenantConfig.json
      tenant2/
          tenantConfig.json

After that I ran qwc-config-generator successfully, which created all the config files to volumes/config/tenant1 and volumes/config/tenant2.

What other settings do I need to take into account to run this multi-tenant environment?

  • Is TENANT_URL_RE environment variable required?
  • What is TENANT_HEADER?
  • Does nginx.conf require tweaking?
  • Should I be able to access my newly created tenants' map viewers from addresses:
    http://localhost:8088/tenant1
    http://localhost:8088/tenant2?

Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.