Welcome to GeoServer Documentation

GeoServer is an open-source software server written in Java that allows users to share and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards.

📚
Version Notice You are viewing documentation for v2.24.1. For the latest features and breaking changes, check the changelog or switch to the beta branch.

Installation & Setup

GeoServer can be deployed as a standalone application, a web application (WAR), or integrated into a Java servlet container like Apache Tomcat or Jetty. Docker images are also officially supported.

MethodComplexityBest For
Standalone BinaryLowDevelopment & Quick Testing
WAR DeploymentMediumProduction & Custom Environments
Docker / KubernetesMediumCloud-Native & Scalable Deployments
bash# Pull the official Docker image
docker pull osgeo/geoserver:2.24.1

# Run with default settings
docker run -d -p 8080:8080 --name geoserver osgeo/geoserver:2.24.1

Quick Start Guide

Once deployed, access the web administration interface at http://localhost:8080/geoserver/web. Default credentials are admin / geoserver.

  1. Create a Workspace: Define a logical container for your data stores.
  2. Add a Data Store: Connect to PostGIS, Shapefiles, GeoTIFFs, or remote WFS servers.
  3. Publish a Layer: Enable specific feature types and configure bounding boxes.
  4. Apply a Style: Use SLD, CSS, or WorldWind style formats to visualize features.
  5. Share & Embed: Generate WMS/WFS endpoints or embed maps via OpenLayers/Leaflet.
Pro Tip Use the /rest endpoint to automate workspace and layer provisioning via scripts. See the REST API reference for curl examples.

REST API Overview

The GeoServer REST API allows programmatic management of the server configuration. All endpoints support XML and JSON payloads. Authentication is handled via basic auth or OAuth2 tokens.

bash# Create a new workspace
curl -u admin:geoserver -XPOST -H "Content-Type: text/xml" \
  --data 'myproject' \
  http://localhost:8080/geoserver/rest/workspaces
Production Warning The REST API is stateful and not designed for high-concurrency writes. For heavy automated deployments, consider using the CLI or Ansible modules.

Next Steps