System Requirements
Hardware and software specifications required to deploy and operate GeoServer effectively across different production scales.
Version Context: These requirements apply to GeoServer Enterprise v4.x and the latest community builds. Legacy v3.x deployments may have lower Java requirements.
Server Specifications
GeoServer is a resource-intensive application, particularly when handling large raster datasets or complex vector aggregations. We recommend provisioning resources based on your expected concurrent load and dataset size.
| Component | Minimum | Recommended | High-Load |
|---|---|---|---|
| Operating System | Linux Kernel 5.4+ Ubuntu 20.04 / RHEL 8 |
Ubuntu 22.04 LTS RHEL 9 / AlmaLinux 9 |
Ubuntu 24.04 LTS Optimized Kernel params |
| Java Runtime | JDK 11 (OpenJDK / Adoptium) |
Best Performance JDK 17 LTS |
JDK 21 LTS With JIT tuning |
| CPU | 2 vCores | 4+ vCores | 8+ vCores High clock speed |
| Memory (RAM) | 4 GB | 16 GB | 32 GB - 64 GB |
| Storage | 10 GB Free (SSD) | 50 GB+ NVMe Separate data volume |
100 GB+ NVMe RAID Configuration |
| Network | 100 Mbps | 1 Gbps Low Latency | 10 Gbps
Dedicated VLAN |
| Application Server | Tomcat 9 or Jetty 11 |
Tomcat 10.1 Tuned connection pools |
Clustered Tomcat / K8s Load Balanced |
Docker Note: If deploying via Docker, ensure your host meets the "High-Load" RAM requirements, as the container runtime adds overhead. Use `--memory` limits to prevent OOM kills.
Database & Data Stores
GeoServer itself does not store spatial data; it serves data from external stores. Your database performance directly impacts map rendering speeds.
PostgreSQL / PostGIS (Recommended)
- PostgreSQL version 13 or higher.
- PostGIS extension version 3.1+ (3.3+ for advanced raster ops).
- Proper indexing (GIST) on geometry columns.
- Enable
postgis.backendoptimizations inpostgresql.conf.
# Check PostGIS Version
SELECT PostGIS_Version();
# Recommended shared_buffers setting for 16GB RAM server
shared_buffers = 4GB
work_mem = 128MB
Supported Data Sources
- PostgreSQL / PostGIS
- Oracle Spatial
- MySQL / MariaDB (with limitations)
- GeoTIFF / COG (Cloud Optimized GeoTIFF)
- Shapefile (Read-only, not recommended for production)
- WFS/WMS Remote Sources
Client / Browser Requirements
For the Web Admin Interface and modern map clients, the following browsers are supported:
| Browser | Minimum Version | Notes |
|---|---|---|
| Chrome / Edge | 90+ | Recommended. Full feature support. |
| Firefox | 95+ | ESR versions supported. |
| Safari | 15+ | macOS / iOS. |
| Opera | 80+ | Chromium-based. |
IE11 is Deprecated: Internet Explorer 11 is no longer supported. The admin UI relies on modern ES6+ features and CSS Grid.
Verification Commands
Before deploying, verify your environment meets the baseline criteria:
#!/bin/bash
# Environment Check Script
echo "=== Java Version ==="
java -version 2>&1 | head -n 1
echo "=== Disk Space ==="
df -h / | tail -n 1
echo "=== Memory ==="
free -h | grep Mem
echo "=== Kernel ==="
uname -r
echo "=== PostGIS ==="
psql -d gis_db -c "SELECT PostGIS_Version();"
TLS/SSL: GeoServer requires secure communication. Ensure TLS 1.2+ is enabled on your reverse proxy (Nginx/Apache). Self-signed certificates are allowed for testing but blocked in production mode.