├── Dockerfile └── README.md /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:12.04.5 2 | 3 | RUN apt-get update -y && \ 4 | apt-get install -y git-core g++ libbz2-dev \ 5 | liblzma-dev libcrypto++-dev libpqxx3-dev scons libicu-dev \ 6 | strace emacs ccache make gdb time automake libtool autoconf \ 7 | bash-completion google-perftools libgoogle-perftools-dev \ 8 | valgrind libACE-dev gfortran linux-tools uuid-dev liblapack-dev \ 9 | libblas-dev libevent-dev flex bison pkg-config python-dev \ 10 | python-numpy python-numpy-dev python-matplotlib libcppunit-dev \ 11 | python-setuptools ant openjdk-7-jdk doxygen \ 12 | libfreetype6-dev libpng-dev python-tk tk-dev python-virtualenv \ 13 | sshfs rake ipmitool mm-common libsigc++-2.0-dev \ 14 | libcairo2-dev libcairomm-1.0-dev cmake && \ 15 | apt-get purge -y libcurl4-openssl-dev && \ 16 | apt-get clean -y && \ 17 | rm -vrf /var/lib/apt/lists/* 18 | 19 | RUN git clone https://github.com/datacratic/platform-deps.git /platform-deps \ 20 | && cd /platform-deps \ 21 | && git submodule update --init \ 22 | && export HOME="/opt" \ 23 | && export PATH="/opt/local/bin:$PATH" \ 24 | && export LD_LIBRARY_PATH="/opt/local/lib:$LD_LIBRARY_PATH" \ 25 | && export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig/:/opt/local/lib/pkg-config/:$PKG_CONFIG_PATH" \ 26 | && cd /platform-deps \ 27 | && make all \ 28 | && rm -v /opt/local/bin/zookeeper \ 29 | && mv -v /platform-deps/zookeeper /opt/local/bin/zookeeper \ 30 | && rm -vrf /platform-deps 31 | 32 | RUN useradd -d /opt -s /bin/bash rtbkit 33 | 34 | RUN install -o rtbkit -d /opt/rtbkit \ 35 | && su rtbkit -c "git clone https://github.com/onokonem/rtbkit.git /opt/rtbkit" \ 36 | && cp -vp /opt/rtbkit/jml-build/sample.local.mk /opt/rtbkit/local.mk 37 | 38 | RUN chown rtbkit /opt 39 | 40 | RUN export LD_LIBRARY_PATH="/opt/local/lib:$LD_LIBRARY_PATH" \ 41 | && export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig/:/opt/local/lib/pkg-config/:$PKG_CONFIG_PATH" \ 42 | && cd /opt/rtbkit \ 43 | && su rtbkit -c "export PATH='/opt/local/bin:$PATH' && make dependencies" 44 | 45 | RUN export LD_LIBRARY_PATH="/opt/local/lib:$LD_LIBRARY_PATH" \ 46 | && export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig/:/opt/local/lib/pkg-config/:$PKG_CONFIG_PATH" \ 47 | && cd /opt/rtbkit \ 48 | && su rtbkit -c "export PATH='/opt/local/bin:$PATH' && make compile" 49 | 50 | #RUN export LD_LIBRARY_PATH="/opt/local/lib:$LD_LIBRARY_PATH" \ 51 | # && export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig/:/opt/local/lib/pkg-config/:$PKG_CONFIG_PATH" \ 52 | # && cd /opt/rtbkit \ 53 | # && su rtbkit -c "export PATH='/opt/local/bin:$PATH' && make test" 54 | 55 | CMD ["/bin/bash"] 56 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Dokerized RTBkit 2 | === 3 | 4 | ```shell 5 | sudo docker build -t onokonem/rtbkit https://github.com/onokonem/rtbkit-docker.git 6 | 7 | sudo docker run -d --net=host -v /storage/docker/zookeeper/data:/zookeeper-data -p 2181:2181 onokonem/rtbkit-zookeeper 8 | 9 | sudo docker run -d --net=host -v /storage/docker/redis/data:/redis-data -p 6379:6379 onokonem/rtbkit-redis 10 | 11 | mkdir -vp /storage/docker/graphite/data /storage/docker/graphite/log 12 | touch /storage/docker/graphite/index 13 | 14 | sudo docker run -d --net=host \ 15 | --name graphite \ 16 | -v /storage/docker/graphite/data:/opt/graphite/storage/whisper \ 17 | -v /storage/docker/graphite/index:/opt/graphite/index \ 18 | -v /storage/docker/graphite/log:/var/log \ 19 | -p 8088:8088 \ 20 | -p 8080:8080 \ 21 | -p 2003:2003 \ 22 | -p 8125:8125/udp \ 23 | onokonem/graphite 24 | 25 | sudo docker run -d --net=host \ 26 | --name grafana \ 27 | -v /storage/docker/grafana/data:/var/lib/grafana \ 28 | -v /storage/docker/grafana/log:/var/log/grafana \ 29 | -e "GF_SECURITY_ADMIN_PASSWORD=admin" \ 30 | -p 3000:3000 \ 31 | grafana/grafana 32 | 33 | sudo docker run --net=host -t -i \ 34 | -v /storage/docker/rtbkit/log:/var/log \ 35 | -v /storage/docker/rtbkit/log:/opt/rtbkit/logs \ 36 | -e PATH=/opt/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ 37 | -e LD_LIBRARY_PATH=/opt/local/lib: \ 38 | -e PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/:/opt/local/lib/pkg-config/: \ 39 | onokonem/rtbkit /bin/bash 40 | 41 | cd /opt/rtbkit && ./build/x86_64/bin/mock_exchange_runner 2> /var/log/mock_exchange_runner.err.log 1> /var/log/mock_exchange_runner.out.log & 42 | 43 | 44 | tee router-config-openrtb.json <