Giter Club home page Giter Club logo

h2o-proxy's Introduction

h2o-proxy

Automated H2O reverse proxy for Docker containers. An alternative jwilder/nginx-proxy.

h2o-proxy sets up a container running H2O and docker-gen.
docker-gen generates reverse proxy configs for H2O and reloads H2O use start_server when containers are started and stopped.

Based FROM image is zchee/docker-h2o.

Install

Building docker container.

$ docker build -t zchee/h2o-proxy .

h2o-proxy now support the docker --build-arg new feature build flag.
If you use other versions docker-gen,

$ docker build -t zchee/h2o-proxy --build-arg DOCKER_GEN_VERSION=*.*.* .

Also, Change DOCKER_HOST env,

$ docker build -t zchee/h2o-proxy --build-arg DOCKER_HOST=/path/to/docker.sock .

If you installed docker version is not HEAD, type this command instead of.

$ docker build -t zchee/h2o-proxy -f Dockerfile.no-buildarg .

Usage

Edit host os's sysctl.conf.
e.g. zchee/docker-h2o/sysctl.conf.

To run it:

$ docker run -d -p 80:80 --net=host -v /var/run/docker.sock:/tmp/docker.sock:ro zchee/h2o-proxy

Then start any containers you want proxied with an env var VIRTUAL_HOST=subdomain.youdomain.com

$ docker run -e VIRTUAL_HOST=foo.bar.com  ...

Provided your DNS is setup to forward foo.bar.com to the a host running h2o-proxy, the request will be routed to a container with the VIRTUAL_HOST env var set.

If your are using boot2docker start h2o-proxy with:

$ $(boot2docker shellinit)
$ docker run -p 80:80 -e DOCKER_HOST -e DOCKER_CERT_PATH -e DOCKER_TLS_VERIFY -v $DOCKER_CERT_PATH:$DOCKER_CERT_PATH -it zchee/h2o-proxy

Depend packages

TODO

  • Support HTTP/2 Reverse Proxy ( Wait for the support of H2O )
  • Not dependent perl and Server::Starter
    • start_server use a included script in the H2O
  • reprioritize-blocking-assets ooptions

h2o-proxy's People

Contributors

zchee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.