See instructions below to install for Kubernetes or Docker ~ Koop is a JavaScript toolkit for connecting spatial APIs. Out of the box, it exposes a Node. js server that translates GeoJSON into the GeoServices specification supported by ArcGIS products.
Boilerplate REST API to get you started faster, with json config for Redis cache, Postgres/PostGIS support for speed, & local file store config if not using s3.
The json config is located in: /koop/config/default.json, and is pre-configured to support custom ports, redis cache, local filestore and Postgres/PostGIS for faster retrieval of geospatial information with Koop FileExporter for interop.
{
"port": 8080,
"cache": {
"redis": {
"host": "redis://localhost:6379"
}
},
"filesystem": {
"local": {
"rootDir": "/var/koop/files"
}
},
"db": {
"postgis": "postgres://postgres:postgres@localhost:5432/geo_database"
}
}
http://localhost:8080/github/koopjs::geodata::north-america/FeatureServer/0/query
http://localhost:8080/craigslist/seattle/apartments/FeatureServer/0/query
Once the container is built, you'll see the boilerplate REST API connecting to GitHub and CraigsList data:

The Dockerfile is a multi-stage docker build to reduce image size. To skip build times pull the image and run:
Pull: docker pull jhoeller/koopjs
Run: docker run --rm -it -d -v "${PWD}:/usr/src/" -p 8080:8080 -p 9000:9000 -p 80:80 jhoeller/koopjs:latest
git clone https://github.com/salinaaaaaa/koopjs.git
docker build -t koopjs .
docker run --rm -it -d -v "${PWD}:/usr/src/" -p 8080:8080 -p 9000:9000 -p 80:80 koopjs
cd helm
helm install koopjs .
helm install koopjs . --set service.type=ClusterIP --set service.port=80export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services koopjs)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
Content type
Image
Digest
sha256:3f726d5cf…
Size
576.6 MB
Last updated
almost 4 years ago
docker pull jhoeller/koopjs