Skip to content

Instantly share code, notes, and snippets.

@brakmic
Last active April 27, 2026 14:40
Show Gist options
  • Select an option

  • Save brakmic/2cb560209e21fb40d33c2ac69349ccd4 to your computer and use it in GitHub Desktop.

Select an option

Save brakmic/2cb560209e21fb40d33c2ac69349ccd4 to your computer and use it in GitHub Desktop.
QGIS Deployment Docker Compose
+-------------------------------------------------------------------------------------------+
|                                                                                           |
|  Docker Compose Environment                                                               |
|                                                                                           |
|    +------------------------------------------------+    +--------------------------------+
|    |                                                |    |                                |
|    |  Container: qgis-viewer                        |    |  Container: qgis-server        |
|    |  (Apache httpd)                                |    |  (Ubuntu with QGIS)            |
|    |                                                |    |                                |
|    |  +---------------------------+                 |    |  +------------------------+    |
|    |  | Apache HTTP Server        |                 |    |  | NGINX Web Server       |    |
|    |  |                           |                 |    |  |                        |    |
|    |  | - mod_proxy enabled       | <---------------|-------|-- HTTP Requests        |    |
|    |  | - CORS headers            |                 |    |  | - Reverse proxy        |    |
|    |  | - Host static files       |                 |    |  | - FastCGI interface    |    |
|    |  +---------------------------+                 |    |  +-----------|------------+    |
|    |                                                |    |              |                 |
|    |  +---------------------------+                 |    |              v                 |
|    |  | Volume Mounts:            |                 |    |  +------------------------+    |
|    |  |                           |                 |    |  | FCGI Wrapper           |    |
|    |  | - /frontend-simple/       |                 |    |  |                        |    |
|    |  |   (HTML/JS/CSS)           |                 |    |  | - spawn-fcgi           |    |
|    |  | - /frontend-simple/       |                 |    |  | - qgis_mapserv.fcgi    |    |
|    |  |   proxy.conf              |                 |    |  +-----------|------------+    |
|    |  +---------------------------+                 |    |              |                 |
|    |                                                |    |              v                 |
|    |  Exposed Port:                                 |    |  +------------------------+    |
|    |  - 8081:80                                     |    |  | QGIS Server Engine     |    |
|    |                                                |    |  |                        |    |
|    |                                                |    |  | - Map rendering        |    |
|    |                                                |    |  | - WMS/WFS/WMTS         |    |
|    |                                                |    |  +-----------|------------+    |
|    |                                                |    |              |                 |
|    |                                                |    |              v                 |
|    |                                                |    |  +------------------------+    |
|    |                                                |    |  | Volume Mounts:         |    |
|    |                                                |    |  |                        |    |
|    |                                                |    |  | - /projects/           |    |
|    |                                                |    |  |   (world_map.qgs)      |    |
|    |                                                |    |  | - /data/               |    |
|    |                                                |    |  |   (Natural Earth)      |    |
|    |                                                |    |  | - /nginx-qgis.conf     |    |
|    |                                                |    |  +------------------------+    |
|    |                                                |    |                                |
|    |                                                |    |  Exposed Port:                 |
|    |                                                |    |  - 8080:80                     |
|    +------------------------------------------------+    +--------------------------------+
|                                                                                           |
|  Connected via Docker Network: devnetwork                                                 |
+-------------------------------------------------------------------------------------------+

Client Access:
-------------
- Web Interface:          http://localhost:8081/
- Direct QGIS Service:    http://localhost:8080/qgis/qgis_mapserv.fcgi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment