<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="3.0" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher">ISPRS-Archives</journal-id>
<journal-title-group>
<journal-title>The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences</journal-title>
<abbrev-journal-title abbrev-type="publisher">ISPRS-Archives</abbrev-journal-title>
<abbrev-journal-title abbrev-type="nlm-ta">Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2194-9034</issn>
<publisher><publisher-name>Copernicus Publications</publisher-name>
<publisher-loc>Göttingen, Germany</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.5194/isprs-archives-XLVIII-4-W13-2025-225-2025</article-id>
<title-group>
<article-title>Honey, I shrunk the GIS: Developing scalable and lightweight geospatial software applications with microservices and containerization</article-title>
</title-group>
<contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Schumacher</surname>
<given-names>Arne</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
</contrib-group><aff id="aff1">
<label>1</label>
<addr-line>German Federal Office for Radiation Protection (BfS), Köpenicker Allee 120, 10318 Berlin, Germany</addr-line>
</aff>
<pub-date pub-type="epub">
<day>11</day>
<month>07</month>
<year>2025</year>
</pub-date>
<volume>XLVIII-4/W13-2025</volume>
<fpage>225</fpage>
<lpage>231</lpage>
<permissions>
<copyright-statement>Copyright: &#x000a9; 2025 Arne Schumacher</copyright-statement>
<copyright-year>2025</copyright-year>
<license license-type="open-access">
<license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri"  xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p>
</license>
</permissions>
<self-uri xlink:href="https://isprs-archives.copernicus.org/articles/XLVIII-4-W13-2025/225/2025/isprs-archives-XLVIII-4-W13-2025-225-2025.html">This article is available from https://isprs-archives.copernicus.org/articles/XLVIII-4-W13-2025/225/2025/isprs-archives-XLVIII-4-W13-2025-225-2025.html</self-uri>
<self-uri xlink:href="https://isprs-archives.copernicus.org/articles/XLVIII-4-W13-2025/225/2025/isprs-archives-XLVIII-4-W13-2025-225-2025.pdf">The full text article is available as a PDF file from https://isprs-archives.copernicus.org/articles/XLVIII-4-W13-2025/225/2025/isprs-archives-XLVIII-4-W13-2025-225-2025.pdf</self-uri>
<abstract>
<p>This paper presents a containerized and modular approach to developing a geospatial application using Docker and geospatial open source software. The system is designed to ingest, store, manage and visualize radiological measurement data within a portable and scalable framework. Core technologies include PostgreSQL with PostGIS for spatial data storage, GeoServer for OGC-compliant map services, Node.js for package dependencies and OpenLayers for web-based visualization. Each component is isolated in its own Docker container, promoting ease of deployment and maintainability. The architecture demonstrates an effective and transferable solution that can be applied to other geospatial software projects, particularly those seeking to implement a similar setup or initiate the development of containerized applications. This architecture not only simplifies development and deployment but also provides a robust foundation for building more complex geospatial systems that support advanced spatial analytics and statistics or elaborate data pipelines.</p>
</abstract>
<counts><page-count count="7"/></counts>
</article-meta>
</front>
<body/>
<back>
</back>
</article>