Home

Awesome

H2O

TravisCI: Build Status
CircleCI: Circle CI

This is Dockerfile for H2O.

Build docker container,

$ docker build -t zchee/h2o .

docker-h2o now support the docker --build-arg new feature build flag.
If you want set specific git clone flag, e.g.

$ docker build -t zchee/h2o --build-arg H2O_EXTRA_ARGS='-b v1.5.0' .

Then, checkout H2O cloned v1.5.0 tag.

Usage

To run,

$ docker run --rm -p <port>:<port> zchee/h2o examples/h2o/h2o.conf

To custom config file run,

$ docker run --rm -p <port>:<port> zchee/h2o h2o.conf

h2o.conf

Default H2O configure path: /etc/h2o/h2o.conf

Default configure,

max-connections: 65536
limit-request-body: 536870912
num-threads: 16
num-name-resolution-threads: 1
http2-reprioritize-blocking-assets: ON
tcp-fastopen: 33554432

listen: 80
hosts:
  "127.0.0.1:80":
    paths:
      /:
        file.dir: examples/doc_root

listen: 8080
listen:
  port: 8081
  ssl:
    certificate-file: examples/h2o/server.crt
    key-file: examples/h2o/server.key
hosts:
  "127.0.0.1.xip.io:8080":
    paths:
      /:
        file.dir: examples/doc_root
    access-log: /dev/stdout
  "alternate.127.0.0.1.xip.io:8081":
    listen:
      port: 8081
      ssl:
        certificate-file: examples/h2o/alternate.crt
        key-file: examples/h2o/alternate.key
    paths:
      /:
        file.dir: examples/doc_root.alternate
    access-log: /dev/stdout

sysctl.conf

[WIP] Default /etc/sysctl.conf is https://klaver.it/linux/sysctl.conf
It will refactoring later.

based,

net.core.somaxconn=32768
net.core.netdev_max_backlog=32768
net.ipv4.tcp_max_syn_backlog=32768
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=10
net.core.rmem_max  = 16777216
net.core.wmem_max  = 16777216
net.ipv4.tcp_rmem  = 4096 349520 16777216
net.ipv4.tcp_wmem  = 4096 65536 16777216
net.ipv4.ip_local_port_range= 1024 65535
net.ipv4.tcp_timestamps = 0

Installed packages

PackageBuildDockerfileDependent
libuvfrom source (HEAD)zchee/docker-h2oH2O
wslayfrom source (HEAD)zchee/docker-h2oH2O
mrubyapt-getzchee/docker-h2oH2O
libmrubyapt-getzchee/docker-h2oH2O
cmakeapt-getzchee/docker-h2oH2O
ninjaapt-getzchee/docker-h2oH2O
build-essentialapt-getzchee/docker-h2onone
checkinstallapt-getzchee/docker-h2owslay
python-sphinxapt-getzchee/docker-h2owslay
libcunit1-devapt-getzchee/docker-h2owslay
nettle-devapt-getzchee/docker-h2owslay
apt-utilsapt-getzchee/docker-buildpack-depsnone
localeapt-getzchee/docker-buildpack-depsnone

TODO