Key Features
- OGC Standards Compliant: Full support for WMS, WFS, WCS, WMTS, and TMS.
- Multi-Format Support: Works with PostGIS, Shapefiles, GeoTIFF, GeoPackage, and more.
- RESTful APIs: Automated configuration and data management via REST and RESTConfig.
- Web UI: Intuitive administration interface for managing workspaces, datastores, and styles.
- Security & Scale: Role-based access control, SSL/TLS, and horizontal scaling capabilities.
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
| Variable | Description | Default |
|---|---|---|
GEOSERVER_ADMIN_PASSWORD | Admin password override | geoserver |
GEOSERVER_LOG_LEVEL | Java logging level | INFO |
GEOSERVER_MAX_MEMORY | Max JVM heap size | 1024m |
Usage & Quick Start
Once configured, you can publish your first map layer:
- Navigate to Data → Layers in the web UI
- Click Enable next to a published workspace/store
- 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:
- Fork the repository
- Create a feature branch (
git checkout -b feat/your-feature) - Commit changes following Conventional Commits
- 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.