Skip to content

stac-utils/stac-server

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

stac-server

A scalable, serverless implementation of the STAC API spec for searching geospatial metadata

Build Status License STAC

πŸ“š Documentation: stac-utils.github.io/stac-server

Table of Contents

Overview

Stac-server is a production-ready implementation of the STAC API specification for searching and serving metadata for geospatial data, including satellite imagery. Built on AWS serverless infrastructure (Lambda, API Gateway, OpenSearch), it provides a highly scalable and cost-effective solution for cataloging and discovering Earth observation data.

🌟 Key Features

  • πŸ“‘ Full STAC API Support - Core, Features, Collections, Item Search with extensions
  • πŸ” Advanced Querying - Query and CQL2 filtering, full-text search, spatial and temporal queries
  • πŸ“Š Aggregations - Statistical summaries and frequency distributions via Aggregation Extension
  • πŸ›Έ Serverless Architecture - Auto-scaling, pay-per-use AWS Lambda and API Gateway
  • πŸ” Fine-Grained Access Control - OpenSearch security with optional pre/post hooks
  • πŸ“¨ Event-Driven Ingest - SNS/SQS-based ingestion pipeline with dead-letter handling
  • πŸ—‚οΈ Asset Proxying - Generate pre-signed S3 URLs for secure asset access

Tech Stack

  • Runtime: Node.js 22 (AWS Lambda)
  • API Framework: AWS API Gateway with Lambda proxy integration
  • Database: AWS OpenSearch Service
  • Queue/Events: AWS SNS and SQS for ingest pipeline
  • Infrastructure: Serverless Framework for deployment
  • Language: TypeScript

πŸš€ Quick Start

Get started with Docker Compose for local development:

# Clone the repository
git clone https://github.com/stac-utils/stac-server.git
cd stac-server

# Start services
docker compose up -d

# Ingest sample data
npm run ingest:example

# Test the API
curl http://localhost:3000/

For AWS deployment, configuration, and production setup, see the complete documentation.

πŸ“š Documentation

Comprehensive documentation is available at stac-utils.github.io/stac-server

Quick Links

Supported Versions

stac-server Version(s) STAC Version STAC API Version
0.1.x 0.9.x 0.9.x
0.2.x <1.0.0-rc.1 0.9.x
0.3.x 1.0.0 1.0.0-beta.2
0.4.x 1.0.0 1.0.0-beta.5
0.5.x-0.8.x 1.0.0 1.0.0-rc.2
1.0.0-3.9.x 1.0.0 1.0.0
>=3.10.0 1.1.0 1.0.0

🌍 Production Deployments

The following production instances are powered by stac-server:

πŸ‘½ Contributing

We welcome contributions! For development setup, testing, and contribution guidelines, see the Contributing Guide.

Quick links:

License

stac-server is licensed under The MIT License.

Copyright for portions of stac-server is held by Development Seed (2016) as part of project sat-api (original license). Copyright for all changes to stac-server since the fork date is held by Element 84, Inc (2020).


stac-server was forked from sat-api. Stac-server is for STAC versions 0.9.0+, while sat-api exists for versions of STAC prior to 0.9.0.

About

A Node-based STAC API, AWS Serverless, OpenSearch

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages