Sign inSign up

agaveapi/apache-api-proxy

By agaveapi

•Updated almost 9 years ago

Apache reverse proxy with rules preconfigured for the Agave core APIs.

Image
0

3.8K

agaveapi/apache-api-proxy repository overview

⁠Agave Apache AOU Proxy

This is the proxy server used to expose Agave's backend APIs to the outside world. It contains an Apache server with SSL enabled and rewrite rules to each of Agave's API core science API containers.

⁠What is the Agave Platform?

The Agave Platform (http://agaveapi.co⁠) is an open source, science-as-a-service API platform for powering your digital lab. Agave allows you to bring together your public, private, and shared high performance computing (HPC), high throughput computing (HTC), Cloud, and Big Data resources under a single, web-friendly REST API.

  • Run scientific codes

    your own or community provided codes

  • ...on HPC, HTC, or cloud resources

    your own, shared, or commercial systems

  • ...and manage your data

    reliable, multi-protocol, async data movement

  • ...from the web

    webhooks, rest, json, cors, OAuth2

  • ...and remember how you did it

    deep provenance, history, and reproducibility built in

For more information, visit the Agave Developer’s Portal⁠ at http://agaveapi.co⁠.

⁠Using this image

This image will set up an Apache server that proxies connections to the backend Agave APIs. The connections to all APIs happen via standard http rewrite.

⁠Running this image

If you are developing with this image, simply start the image with the default settings.

docker run -h docker.example.com
           -p 80:80 \
           -p 443:443 \
           --name proxy \
           -v $(pwd)/ssl:/ssl:ro \
           -v $(pwd)/logs/proxy:/var/log/apache2 \
           agaveapi/apache-api-proxy:alpine
⁠SSL Support

To add ssl support, volume mount your ssl cert, key, ca cert file, and ca chain file as needed. In the following example, a folder containing the necessary files is volume mounted to /ssl in the container.

docker run -h docker.example.com \
           -p 80:80 \
           -p 443:443 \
           --name proxy \
           -v `pwd`/ssl:/ssl:ro \
           -v $(pwd)/logs/proxy:/var/log/apache2 \
           -e SSL_CERT=/ssl/docker_example_com_cert.cer \
           -e SSL_KEY=/ssl/docker.example.com.key \
           -e SSL_CA_CERT=/ssl/docker_example_com.cer \
           agaveapi/apache-api-proxy:alpine
⁠Logging

All apache access and error logs are written to /var/log/apache2. You man access them by mounting the folder as a host volume.

Tag summary

Content type

Image

Digest

sha256:c784a3168…

Size

119.8 MB

Last updated

about 11 years ago

docker pull agaveapi/apache-api-proxy