Quick Start
Get your GeoServer instance running in under 5 minutes. This guide walks you through installation, configuration, and deploying your first spatial data layer.
βΉοΈ Prerequisites
Ensure you have Docker 20.10+ or Node.js 18+ installed, and an active GeoServer API key from your dashboard.
Step 1: Install the CLI
The gs CLI is the recommended way to manage GeoServer projects, deployments, and configurations.
bash
# Install globally via npm npm install -g @geoserver/cli # Verify installation gs --version v3.2.0 (stable)
Step 2: Initialize a Project
Create a new geospatial project with default configurations, layer schemas, and a local development server.
bash
# Create and enter project directory mkdir my-geo-project && cd my-geo-project # Initialize with interactive wizard gs init --region us-east-1 --api-key $GS_API_KEY β Project scaffolded successfully β Default WMS/WFS endpoints configured β Ready to run.
Step 3: Start the Development Server
Spin up a local instance with hot-reloading, mock spatial datasets, and a built-in dashboard.
bash
gs dev --port 8080 π GeoServer v3.2.0 started π‘ Local: http://localhost:8080 π‘ Network: http://192.168.1.42:8080 πΊοΈ Dashboard: http://localhost:8080/admin
β οΈ Note
The dev server uses an in-memory spatial database. For persistent data, mount a PostGIS volume or configure a remote database in gs.config.yml.
Step 4: Add Your First Layer
Publish a GeoJSON file or connect to an existing PostGIS table using the CLI or REST API.
bash
# Publish a local GeoJSON gs layers add ./data/cities.geojson \ --name world-cities \ --style point-cluster β Layer 'world-cities' published π WMS: /geoserver/web/wms?layers=world-cities
Step 5: Verify & Access
Open your browser or use curl to verify the service is responding correctly.
bash
curl http://localhost:8080/api/v1/health { "status": "ok", "version": "3.2.0", "layers": 1, "uptime": "00:04:12", "endpoints": { "wms": "/geoserver/web/wms", "wfs": "/geoserver/web/wfs", "rest": "/api/v1" } }
β
You're ready!
Your GeoServer instance is live. Visit http://localhost:8080 to explore the interactive map dashboard or proceed to configure authentication and caching.