diff --git a/.gitignore b/.gitignore
index 3652e61..e54f557 100644
--- a/.gitignore
+++ b/.gitignore
@@ -113,3 +113,8 @@ node_modules/
# Demo files to ignore
demo/cmip6/CMIP6_daily_*stac_items.ndjson
+
+
+# browser compiled code and default config
+infrastructure/aws/stac-browser
+infrastructure/aws/browser_config.js
\ No newline at end of file
diff --git a/README.md b/README.md
index bdc5df2..371b62a 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,8 @@
- **OGC Features and Vector Tiles** API built on top of [https://github.com/developmentseed/tipg](https://github.com/developmentseed/tipg)
+- **A STAC Catalog browsing UI** based on the radiant earth browser : [https://github.com/radiantearth/stac-browser](https://github.com/radiantearth/stac-browser)
+
---
## 🌍 eoAPI: An Open-Source Community Project
@@ -57,22 +59,19 @@ Then you can start exploring your dataset with:
- the STAC Metadata service [http://localhost:8081](http://localhost:8081)
- the Raster service [http://localhost:8082](http://localhost:8082)
+ - the browser UI [http://localhost:8085](http://localhost:8085)
If you've added a vector dataset to the `public` schema in the Postgres database, they will be available through the **Vector** service at [http://localhost:8083](http://localhost:8083).
-## Deployment
+## Deployment with standard runtimes
This repository has current runtimes that are consistently updated with new functionality.
-The services can be deployed locally via docker with `docker compose up`.
-
-Two Infrastructure as Code (IaC) repositories are available:
-- [eoapi-cdk](https://github.com/developmentseed/eoapi-cdk): A set of AWS CDK constructs to deploy eoAPI services
-- [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s): IaC and Helm charts for deploying eoAPI services on AWS and GCP
+### Local deployment
-Finally, [eoapi-template](https://github.com/developmentseed/eoapi-template) is an AWS CDK app that shows how to configure the eoapi-cdk constructs.
+The services can be deployed altogether locally with `docker compose up`.
-Alternatively, you may install the libraries locally:
+Alternatively, you may install the libraries and launch the applications manually :
@@ -109,7 +108,19 @@ Note: python libraries might have incompatible dependencies, which you can resol
-## Custom runtimes
+### Deployment on the cloud
+
+#### Kubernetes
+
+[eoapi-k8s](https://github.com/developmentseed/eoapi-k8s) contains IaC and Helm charts for deploying eoAPI services on AWS and GCP.
+
+#### AWS CDK
+
+[eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) defines a set of AWS CDK constructs that can be used to deploy eoAPI services on AWS. This repository itself makes use of these in `infrastructure/aws`. An official example usage of these constructs can be found at [eoapi-template](https://github.com/developmentseed/eoapi-template).
+
+
+
+## Deployment with custom runtimes
The eoAPI repository hosts customized versions of each base service which can work in parallel or in combination with each other.
diff --git a/docker-compose.custom.yml b/docker-compose.custom.yml
index 8e257f1..64343bc 100644
--- a/docker-compose.custom.yml
+++ b/docker-compose.custom.yml
@@ -1,6 +1,18 @@
version: '3'
services:
+ stac-browser:
+ profiles:
+ - gunicorn
+ build:
+ context: dockerfiles
+ dockerfile: Dockerfile.browser
+ ports:
+ - "${MY_DOCKER_IP:-127.0.0.1}:8085:8085"
+ depends_on:
+ - stac
+ - database
+ - raster
stac:
container_name: eoapi.stac
profiles:
diff --git a/docker-compose.yml b/docker-compose.yml
index a29863d..f43fec0 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,6 +1,19 @@
version: '3'
services:
+
+ # change to official image when available https://github.com/radiantearth/stac-browser/pull/386
+ stac-browser:
+ build:
+ context: dockerfiles
+ dockerfile: Dockerfile.browser
+ ports:
+ - "${MY_DOCKER_IP:-127.0.0.1}:8085:8085"
+ depends_on:
+ - stac-fastapi
+ - titiler-pgstac
+ - database
+
stac-fastapi:
# Note:
# the official ghcr.io/stac-utils/stac-fastapi-pgstac image uses python 3.8 and uvicorn
diff --git a/dockerfiles/Dockerfile.browser b/dockerfiles/Dockerfile.browser
new file mode 100644
index 0000000..0aa9932
--- /dev/null
+++ b/dockerfiles/Dockerfile.browser
@@ -0,0 +1,34 @@
+# Copyright Radiant Earth Foundation
+
+FROM node:lts-alpine3.18 AS build-step
+ARG DYNAMIC_CONFIG=true
+
+WORKDIR /app
+
+RUN apk add --no-cache git
+RUN git clone https://github.com/radiantearth/stac-browser.git .
+# remove the default config.js
+RUN rm config.js
+RUN npm install
+# replace the default config.js with our config file
+COPY ./browser_config.js ./config.js
+RUN \[ "${DYNAMIC_CONFIG}" == "true" \] && sed -i 's//