diff --git a/README.md b/README.md index 3c80af8..f1335ca 100644 --- a/README.md +++ b/README.md @@ -38,13 +38,16 @@ and [GitHub Encrypted Secrets](https://docs.github.com/en/actions/reference/encr The operational stack is composed with the following components: * [Traefik](https://traefik.io/) a frontend proxy/load-balancer and SSL (HTTPS) endpoint. -* [pygeoapi](https://pygeoapi.io/) a Python server implementation of the OGC API suite of standards. -* to be determined: [GeoServer](http://geoserver.org/), [ldproxy](https://interactive-instruments.github.io/ldproxy/), ... -* [mkdocs](https://www.mkdocs.org/) for website and live documentation +* [mkdocs](https://www.mkdocs.org/) for live documentation + * both an experimental and stable stack instance is available +* [GeoHealthCheck]() is a component to monitor the availability and complience of the implementations -The above setup has been used with success in several projects like -the [pygeoapi demo server](https://demo.pygeoapi.io/). +# Services + +* [pygeoapi](https://pygeoapi.io/) a Python server implementation of the OGC API suite of standards. +* [GeoServer](http://geoserver.org/) a Java server implementation of the OGC API suite of standards. +* [ldproxy](https://interactive-instruments.github.io/ldproxy/) a Java server implementation of the OGC API suite of standards. ## Selective Redeploy When changes are pushed to this repo only the affected services are redeployed. diff --git a/services/ldproxy/README.md b/services/ldproxy/README.md new file mode 100644 index 0000000..142f945 --- /dev/null +++ b/services/ldproxy/README.md @@ -0,0 +1,5 @@ +# ldproxy demo service + +Runs latest +[LDProxy Docker Image from DockerHub](https://hub.docker.com/r/iide/ldproxy). + diff --git a/services/ldproxy/docker-compose.yml b/services/ldproxy/docker-compose.yml new file mode 100644 index 0000000..4bb28d6 --- /dev/null +++ b/services/ldproxy/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3" + +volumes: + ldproxy_data: + +services: + + ldproxy: + + image: iide/ldproxy:latest + + container_name: ldproxy + +# expose: +# - "80" + + ports: + - "80:7080" + + volumes: + - ldproxy_data:/ldproxy/data + + labels: + - "traefik.enable=true" + # local http router + - "traefik.http.routers.ldproxy_lhttp.rule=Host(`local.map5.nl`) || Host(`localhost`) && PathPrefix(`/ldproxy`)" + - "traefik.http.routers.ldproxy_lhttp.entrypoints=http" + - "traefik.http.routers.ldproxy_lhttp.middlewares=secure-headers@file" + # https router + - "traefik.http.routers.ldproxy_https.rule=Host(`oapi.map5.nl`) && PathPrefix(`/ldproxy`)" + - "traefik.http.routers.ldproxy_https.entrypoints=https" + - "traefik.http.routers.ldproxy_https.tls=true" + - "traefik.http.routers.ldproxy_https.tls.certresolver=le" + - "traefik.http.routers.ldproxy_https.tls.options=my_default@file" + - "traefik.http.routers.ldproxy_https.middlewares=secure-headers@file" + + - "traefik.frontend.priority=100" + - "traefik.docker.network=service-network" + +networks: + default: + external: + name: service-network diff --git a/services/ldproxy/start.sh b/services/ldproxy/start.sh new file mode 100755 index 0000000..31d6327 --- /dev/null +++ b/services/ldproxy/start.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +./stop.sh +docker-compose up -d diff --git a/services/ldproxy/stop.sh b/services/ldproxy/stop.sh new file mode 100755 index 0000000..7221e13 --- /dev/null +++ b/services/ldproxy/stop.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +docker-compose stop +docker-compose rm --force