github.com/uber/kraken@v0.1.4/docker/herd/Dockerfile (about) 1 # This image combines all central components into one container, for easier 2 # deployment and management. 3 FROM debian:10 4 5 RUN apt-get update && apt-get install -y build-essential curl sqlite3 nginx sudo procps 6 7 # Install redis. 8 ADD http://download.redis.io/redis-stable.tar.gz /tmp/redis-stable.tar.gz 9 RUN tar -xvzf /tmp/redis-stable.tar.gz -C /tmp 10 RUN cd /tmp/redis-stable && make install 11 12 RUN mkdir -p -m 777 /var/log/kraken/kraken-build-index 13 RUN mkdir -p -m 777 /var/log/kraken/kraken-origin 14 RUN mkdir -p -m 777 /var/log/kraken/kraken-proxy 15 RUN mkdir -p -m 777 /var/log/kraken/kraken-testfs 16 RUN mkdir -p -m 777 /var/log/kraken/kraken-tracker 17 18 RUN mkdir -p -m 777 /var/cache/kraken/kraken-build-index 19 RUN mkdir -p -m 777 /var/cache/kraken/kraken-origin 20 RUN mkdir -p -m 777 /var/cache/kraken/kraken-proxy 21 RUN mkdir -p -m 777 /var/cache/kraken/kraken-testfs 22 RUN mkdir -p -m 777 /var/cache/kraken/kraken-tracker 23 24 RUN mkdir -p -m 777 /var/run/kraken 25 26 ARG USERNAME="root" 27 ARG USERID="0" 28 RUN if [ ${USERID} != "0" ]; then useradd --uid ${USERID} ${USERNAME}; fi 29 30 # Allow proxy to run nginx as root. 31 RUN if [ ${USERID} != "0" ]; then mkdir -p /etc/sudoers.d/ && \ 32 echo '${USERNAME} ALL=(root) NOPASSWD: /usr/sbin/nginx' >> /etc/sudoers.d/kraken-proxy; fi 33 34 COPY ./docker/setup_nginx.sh /tmp/setup_nginx.sh 35 RUN /tmp/setup_nginx.sh ${USERNAME} 36 37 USER ${USERNAME} 38 39 COPY ./build-index/build-index /usr/bin/kraken-build-index 40 COPY ./origin/origin /usr/bin/kraken-origin 41 COPY ./proxy/proxy /usr/bin/kraken-proxy 42 COPY ./tools/bin/testfs/testfs /usr/bin/kraken-testfs 43 COPY ./tracker/tracker /usr/bin/kraken-tracker 44 45 WORKDIR /etc/kraken 46 47 COPY ./config /etc/kraken/config 48 COPY ./nginx/config /etc/kraken/nginx/config 49 COPY ./test/tls /etc/kraken/tls