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.
| Method | Complexity | Best For |
|---|---|---|
| Standalone Binary | Low | Development & Quick Testing |
| WAR Deployment | Medium | Production & Custom Environments |
| Docker / Kubernetes | Medium | Cloud-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.
- Create a Workspace: Define a logical container for your data stores.
- Add a Data Store: Connect to PostGIS, Shapefiles, GeoTIFFs, or remote WFS servers.
- Publish a Layer: Enable specific feature types and configure bounding boxes.
- Apply a Style: Use SLD, CSS, or WorldWind style formats to visualize features.
- 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
- Explore the WMS Configuration Guide for rendering optimized map tiles.
- Read about Performance & Caching using GeoWebCache integration.
- Join the Community Forum or open an issue on GitHub.
Did you find an error or outdated information? Edit this page on GitHub or submit a report.