GeoServer

v2.25.0 Stable Documentation Apache-2.0

GeoServer is a powerful, open-source platform for sharing and editing geospatial data. It provides a complete OGC-compliant solution for publishing spatial data from any major data source. This README serves as the official documentation and quick-start guide.

Key Features

Installation

Choose your preferred deployment method:

Docker (Recommended)

docker run -d -p 8080:8080 --name geoserver \
  -v geoserver_data:/opt/geoserver/data_dir \
  -e GEOSERVER_ADMIN_PASSWORD=admin \
  osgeo/geoserver:latest

Native Binary

# Download the latest release from releases.geoserver.org
tar -xzf geoserver-2.25.0-bin.tar.gz
cd geoserver/bin
./startup.sh

Package Managers

# macOS
brew install geoserver

# Linux (Ubuntu/Debian)
sudo apt install geoserver

Configuration

After installation, access the administration console at http://localhost:8080/geoserver/web. Default credentials are admin / geoserver.

Environment Variables

VariableDescriptionDefault
GEOSERVER_ADMIN_PASSWORDAdmin password overridegeoserver
GEOSERVER_LOG_LEVELJava logging levelINFO
GEOSERVER_MAX_MEMORYMax JVM heap size1024m

Usage & Quick Start

Once configured, you can publish your first map layer:

  1. Navigate to Data → Layers in the web UI
  2. Click Enable next to a published workspace/store
  3. Generate a WMS link for embedding in Leaflet, MapLibre, or OpenLayers
// Example Leaflet integration
const map = L.map('map').setView([40.7128, -74.0060], 12);
L.tileLayer.wms('http://localhost:8080/geoserver/workshop/wms', {
  layers: 'workshop:roads',
  format: 'image/png',
  transparent: true,
  attribution: 'GeoServer'
}).addTo(map);

API Reference

GeoServer exposes comprehensive REST endpoints for programmatic management:

# List all workspaces
GET /geoserver/rest/workspaces.json

# Create a new datastore
POST /geoserver/rest/workspaces/{workspace}/datastores
Content-Type: application/xml
<dataStore><name>postgis</name><connectionParameters>...</connectionParameters></dataStore>

# Style management
GET /geoserver/rest/styles.xml
PUT /geoserver/rest/styles/{styleName}.sld

Note: Full API documentation, including RESTConfig and WFS-T transaction examples, is available in the official documentation portal.

Contributing

We welcome contributions! Please read our CONTRIBUTING.md and follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/your-feature)
  3. Commit changes following Conventional Commits
  4. Push and open a Pull Request with tests & documentation

License

GeoServer is distributed under the Apache License 2.0. See LICENSE for details.

© 2025 GeoServer Community. Built for open geospatial innovation.