{"id":21660117,"url":"https://github.com/slub/kartenforum_ansible","last_synced_at":"2025-03-20T05:25:37.274Z","repository":{"id":39973991,"uuid":"389550707","full_name":"slub/kartenforum_ansible","owner":"slub","description":"Ansible deployment scripts for the SLUB Virtual Map Forum (\"Kartenforum\")","archived":false,"fork":false,"pushed_at":"2023-09-28T14:46:30.000Z","size":44182,"stargazers_count":1,"open_issues_count":1,"forks_count":3,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-04-22T17:08:29.057Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-26T07:44:12.000Z","updated_at":"2024-04-18T21:06:25.000Z","dependencies_parsed_at":"2024-10-25T13:57:21.951Z","dependency_job_id":null,"html_url":"https://github.com/slub/kartenforum_ansible","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fkartenforum_ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fkartenforum_ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fkartenforum_ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slub%2Fkartenforum_ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slub","download_url":"https://codeload.github.com/slub/kartenforum_ansible/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244555961,"owners_count":20471537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T09:32:14.639Z","updated_at":"2025-03-20T05:25:37.255Z","avatar_url":"https://github.com/slub.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible-Scripts for the Virtual Map Forum \n\nThis 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.\n\n![Architecture of the Virtual Map Forum](./_files/system-diagram.png \"Architecture of the Virtual Map Forum\")\n\n\u003e :warning: The figure is currently missing the placename service as well as the TYPO3 setup with the web client. \n\nFor each service component an [ansible scripts](https://www.ansible.com/)  is available, which describes the system setup.\n\n## Service overview\n\n### [service_basemap](./service_basemap/README.md) \n\nA tile server for delivering [OpenStreetMap](https://www.openstreetmap.org/) based map tiles. The service supports raster and vector tiles and is based on the [OpenMapTiles](https://openmaptiles.org/) ecosystem.\n\nSystem requirements:\n* Debian 11\n* 140 GB SSD Storage\n* 2 to 4 vCPU\n* 2 to 4 GB RAM\n* Public network or internal\n\nRedundancy:\n* 2 to 4 systems\n\nBasically, 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.\n\n### [service_basemap_balancer](./service_basemap_balancer/README.md) \n\nDistributes 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.\n\nSystem requirements:\n* Debian 11\n* 40 GB Storage (Should scale with the cache size)\n* 1 vCPU \n* 2 GB RAM\n* Public network\n\n### [service_explore](./service_explore/README.md) \n\nContains the public metadata of the VKF and is used for map search. It is based on [Elasticsearch](https://www.elastic.co/de/elasticsearch/).\n\nSystem requirements:\n* Debian 11\n* 10 GB Storage\n* 2 vCPU\n* 2 GB RAM\n* Public network\n\n### [service_tiles](./service_tiles/README.md) \n\nThe 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.\n\nSystem requirements:\n* Debian 11\n* 20 GB Storage\n* 1 vCPU\n* 2 GB RAM\n* Public network\n\nMounts:\n* NFS-Mount on _vkf-data_ (read-only)\n \n### [service_maps](./service_maps/README.md) \n\nThe service delivers maps via an UMN mapserver. It uses multiple sub-domains to access the individual map services.\n\nSystem requirements:\n* Debian 11\n* 20 GB Storage\n* 4 vCPU\n* 8 GB RAM\n* Public network\n\nMounts:\n* NFS-Mount on _vkf-data_ (read-only)\n\n### [service_explore](./service_place/README.md) \n\nContains the geocoding service of the VKF. It is based on [mediagis/nominatim](https://hub.docker.com/r/mediagis/nominatim).\n\nSystem requirements:\n* Debian 11\n* 740 GB GB Storage\n* 2 vCPU\n* 4 GB RAM\n* Public network\n\n### [service_geo](./service_geo/README.md) \n\nThe 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. \n\nSystem requirements:\n* Debian 101\n* 40 GB Storage\n* 8 vCPU\n* 16 GB RAM\n* Private network\n\nMounts:\n* NFS-Mount on _vkf-data_ (read and write)\n\n### vkf-data (Verzeichnissystem)\n\nThe network file system, which contains all image and map data of the vkf.\n\nSystem requirements:\n* 3.5 TB Storage\n\n## Ansible \n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"left\"\u003ePlacebook\u003c/th\u003e\n      \u003cth align=\"center\"\u003ePurpose\u003c/th\u003e\n      \u003cth align=\"center\"\u003eRequirements\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"left\"\u003ecore_setup/main.yml\u003c/td\u003e\n      \u003ctd align=\"left\"\u003eInstalls 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\u003c/td\u003e\n      \u003ctd align=\"left\"\u003e\n        \u003cul\u003e\n            \u003cli\u003eDebian 11\u003c/li\u003e\n            \u003cli\u003eSSH-Login for User \u003ccode\u003eroot\u003c/code\u003e via key file\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"left\"\u003eservice_basemap/main.yml\u003c/td\u003e\n        \u003ctd align=\"left\"\u003eInstalls a standalone tile server with initial configuration and an Apache2 HTTP server as reverse proxy.\u003c/td\u003e\n        \u003ctd align=\"left\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDebian 11\u003c/li\u003e\n                \u003cli\u003eSSH-Login for User \u003ccode\u003evk2adm\u003c/code\u003e via key file\u003c/li\u003e\n                \u003cli\u003ecore_setup/main.yml was executed before\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e    \n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"left\"\u003eservice_basemap_balancer/main.yml\u003c/td\u003e\n        \u003ctd align=\"left\"\u003eInstalls an software and apache based load balacner with caching capabilities for image serving.\u003c/td\u003e\n        \u003ctd align=\"left\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDebian 11\u003c/li\u003e\n                \u003cli\u003eSSH-Login for User \u003ccode\u003evk2adm\u003c/code\u003e via key file\u003c/li\u003e\n                \u003cli\u003ecore_setup/main.yml was executed before\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e    \n    \u003c/tr\u003e    \n    \u003ctr\u003e\n        \u003ctd align=\"left\"\u003eservice_explore/main.yml\u003c/td\u003e\n        \u003ctd align=\"left\"\u003eInstalls a single node elasticsearch instance, with an Apache HTTP server as reverse proxy.\u003c/td\u003e\n        \u003ctd align=\"left\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDebian 11\u003c/li\u003e\n                \u003cli\u003eSSH-Login for User \u003ccode\u003evk2adm\u003c/code\u003e via key file\u003c/li\u003e\n                \u003cli\u003ecore_setup/main.yml was executed before\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e    \n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"left\"\u003eservice_geo/main.yml\u003c/td\u003e\n        \u003ctd align=\"left\"\u003eInstalls the georeference service and daemon together with the database. The georeference service is proxied via an apache2 http reverse proxy.\u003c/td\u003e\n        \u003ctd align=\"left\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDebian 11\u003c/li\u003e\n                \u003cli\u003eSSH-Login for User \u003ccode\u003evk2adm\u003c/code\u003e via key file\u003c/li\u003e\n                \u003cli\u003ecore_setup/main.yml was executed before\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e    \n    \u003c/tr\u003e    \n    \u003ctr\u003e\n        \u003ctd align=\"left\"\u003eservice_maps/main.yml\u003c/td\u003e\n        \u003ctd align=\"left\"\u003eInstalls an apache service for serving dynamic maps via mapserver.\u003c/td\u003e\n        \u003ctd align=\"left\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDebian 11\u003c/li\u003e\n                \u003cli\u003eSSH-Login for User \u003ccode\u003evk2adm\u003c/code\u003e via key file\u003c/li\u003e\n                \u003cli\u003ecore_setup/main.yml was executed before\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e    \n    \u003c/tr\u003e   \n    \u003ctr\u003e\n        \u003ctd align=\"left\"\u003eservice_tiles/main.yml\u003c/td\u003e\n        \u003ctd align=\"left\"\u003eInstalls an apache service for serving files according to the tms and zoomify protocol as well as thumbnails.\u003c/td\u003e\n        \u003ctd align=\"left\"\u003e\n            \u003cul\u003e\n                \u003cli\u003eDebian 11\u003c/li\u003e\n                \u003cli\u003eSSH-Login for User \u003ccode\u003evk2adm\u003c/code\u003e via key file\u003c/li\u003e\n                \u003cli\u003ecore_setup/main.yml was executed before\u003c/li\u003e\n            \u003c/ul\u003e\n        \u003c/td\u003e    \n    \u003c/tr\u003e   \n  \u003c/tbody\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslub%2Fkartenforum_ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslub%2Fkartenforum_ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslub%2Fkartenforum_ansible/lists"}