/kartenforum_ansible

Ansible deployment scripts for the SLUB Virtual Map Forum ("Kartenforum")

Primary LanguageJinjaGNU General Public License v3.0GPL-3.0

Ansible-Scripts for the Virtual Map Forum

This repository contains the configuration files and ansible scripts for deploying the different service of the Virtual Map Forum (VKF). The VKF is designed as a service-oriented architecture with different services and components. The following figure gives an overview about the architecture.

Architecture of the Virtual Map Forum

⚠️ The figure is currently missing the placename service as well as the TYPO3 setup with the web client.

For each service component an ansible scripts is available, which describes the system setup.

Service overview

A tile server for delivering OpenStreetMap based map tiles. The service supports raster and vector tiles and is based on the OpenMapTiles ecosystem.

System requirements:

  • Debian 11
  • 140 GB SSD Storage
  • 2 to 4 vCPU
  • 2 to 4 GB RAM
  • Public network or internal

Redundancy:

  • 2 to 4 systems

Basically, the hardware requirements for delivering raster tiles are higher than for vector tiles, because in the case of raster tiles the server also handles the rendering of the tiles. More redundancy, CPU and RAM increase the performance.

Distributes requests to the different basemap services according to a defined balancing algorithm. Uses a file cache for caching raster tiles. Should support multiple sub-domains so clients can request map tiles faster.

System requirements:

  • Debian 11
  • 40 GB Storage (Should scale with the cache size)
  • 1 vCPU
  • 2 GB RAM
  • Public network

Contains the public metadata of the VKF and is used for map search. It is based on Elasticsearch.

System requirements:

  • Debian 11
  • 10 GB Storage
  • 2 vCPU
  • 2 GB RAM
  • Public network

The service delivers tiles and images. It delivers static content, which is stored in the NFS mount. Uses multiple sub-domains to access the individual image and tile services.

System requirements:

  • Debian 11
  • 20 GB Storage
  • 1 vCPU
  • 2 GB RAM
  • Public network

Mounts:

  • NFS-Mount on vkf-data (read-only)

The service delivers maps via an UMN mapserver. It uses multiple sub-domains to access the individual map services.

System requirements:

  • Debian 11
  • 20 GB Storage
  • 4 vCPU
  • 8 GB RAM
  • Public network

Mounts:

  • NFS-Mount on vkf-data (read-only)

Contains the geocoding service of the VKF. It is based on mediagis/nominatim.

System requirements:

  • Debian 11
  • 740 GB GB Storage
  • 2 vCPU
  • 4 GB RAM
  • Public network

The service hosts the georeferencing service used by the web application and the daemon that synchronizes the search index entries and the maps and images services.

System requirements:

  • Debian 101
  • 40 GB Storage
  • 8 vCPU
  • 16 GB RAM
  • Private network

Mounts:

  • NFS-Mount on vkf-data (read and write)

vkf-data (Verzeichnissystem)

The network file system, which contains all image and map data of the vkf.

System requirements:

  • 3.5 TB Storage

Ansible

Placebook Purpose Requirements
core_setup/main.yml Installs a base system with the user "vk2adm", blocks the "root" user for ssh and configures IP tables with open ports for SSH and HTTP/S
  • Debian 11
  • SSH-Login for User root via key file
service_basemap/main.yml Installs a standalone tile server with initial configuration and an Apache2 HTTP server as reverse proxy.
  • Debian 11
  • SSH-Login for User vk2adm via key file
  • core_setup/main.yml was executed before
service_basemap_balancer/main.yml Installs an software and apache based load balacner with caching capabilities for image serving.
  • Debian 11
  • SSH-Login for User vk2adm via key file
  • core_setup/main.yml was executed before
service_explore/main.yml Installs a single node elasticsearch instance, with an Apache HTTP server as reverse proxy.
  • Debian 11
  • SSH-Login for User vk2adm via key file
  • core_setup/main.yml was executed before
service_geo/main.yml Installs the georeference service and daemon together with the database. The georeference service is proxied via an apache2 http reverse proxy.
  • Debian 11
  • SSH-Login for User vk2adm via key file
  • core_setup/main.yml was executed before
service_maps/main.yml Installs an apache service for serving dynamic maps via mapserver.
  • Debian 11
  • SSH-Login for User vk2adm via key file
  • core_setup/main.yml was executed before
service_tiles/main.yml Installs an apache service for serving files according to the tms and zoomify protocol as well as thumbnails.
  • Debian 11
  • SSH-Login for User vk2adm via key file
  • core_setup/main.yml was executed before