Running QWC2 as part of qwc-services¶
qwc-services is a collection of loosely coupled micro-services for extending QWC2. The services communicate with each other via HTTP/Rest, and are mostly written in Python.
The easiest way to run
qwc-services is to use the readily available docker images, using the sample setup at qwc-docker.
To be able to run
qwc-docker, first install
- Docker: https://docs.docker.com/engine/install/
- docker-compose: https://docs.docker.com/compose/install/
Then, follow these steps:
- Clone the qwc-docker sample setup at qwc-docker and copy the docker-compose and api-gateway configuration templates:
git clone https://github.com/qwc-services/qwc-docker.git cd qwc-docker cp docker-compose-example.yml docker-compose.yml cp api-gateway/nginx-example.conf api-gateway/nginx.conf
- Set the password for the
qwc-postgis: image: sourcepole/qwc-base-db:<version> environment: POSTGRES_PASSWORD: '<SET YOUR PASSWORD HERE>'
- Create a secret key:
python3 -c 'import secrets; print("JWT_SECRET_KEY=\"%s\"" % secrets.token_hex(48))' >.env
Change the UID/GID which runs the QWC services to match the user/group which owns the shared volumes on the host by setting
Set permissions for the shared solr data volume:
sudo chown 8983:8983 volumes/solr/data
- Start all containers (will download all images from dockerhub when executed the first time):
Note: If using the newer
docker compose project, you need to write
docker compose up instead of
docker-compose up (and similarly for other
Note: The sample
latest-lts as image versions. It is recommended to replace these with a fix version tag when deploying the application to prevent docker from automatically pulling new versions when the application is launched, which may be undesired. See Keeping QWC services up to date.
The map viewer will run on http://localhost:8088/.
The admin GUI will run on http://localhost:8088/qwc_admin (default admin credentials: username
admin, requires password change on first login).
Running QWC2 as a standalone viewer¶
If you don't need the advanced functionalities provided by
qwc-services or want to integrate QWC2 in another environment, you can run QWC2 as a standalone viewer.
The fastest way to get started is by cloning the demo application:
git clone --recursive https://github.com/qgis/qwc2-demo-app.git
Next, install all required dependencies:
cd qwc2-demo-app yarn install
Then, start a local development application:
The development application will run by default on http://localhost:8081.
At this point, you can customize and configure the application according to your needs, as described in detail in the following chapters.
The final step is to compile a deployable application bundle for production:
yarn run prod
You can then deploy the contents of the
prod folder to your web server.