Dockerfile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. FROM huebase_centos:7
  2. LABEL description="Hue Project https://github.com/cloudera/hue"
  3. ARG GBN
  4. ARG GSHA
  5. ARG GBRANCH
  6. ARG VERSION
  7. ARG HUEUSER
  8. # Set the environment variable
  9. ENV NAME="hue" \
  10. HUE_USER=${HUEUSER} \
  11. HUE_CONF="/etc/hue" \
  12. HUE_HOME="/opt/${HUEUSER}" \
  13. HUE_CONF_DIR="${HUE_CONF}/conf" \
  14. HUE_LOG_DIR="/var/log/${HUEUSER}" \
  15. HUE_BUILDNO=${GBN} \
  16. HUE_SHAURL=${GSHA} \
  17. HUE_BRANCHURL=${GBRANCH} \
  18. HUE_VERSION=${VERSION} \
  19. HUE_BIN="/opt/${HUEUSER}/build/env/bin" \
  20. PATH=$PATH:${HUE_BIN} \
  21. SUPERVISOR_VERSION=4.0.2
  22. # create hue user
  23. RUN groupadd -g 1123 ${HUE_USER} && useradd -g 1123 -d ${HUE_HOME} -s /bin/bash -u 1123 ${HUE_USER}
  24. COPY --chown=${HUE_USER}:${HUE_USER} hue ${HUE_HOME}
  25. COPY --chown=${HUE_USER}:${HUE_USER} hue.sh ${HUE_HOME}/hue.sh
  26. # Install psycopg2-binary
  27. RUN $HUE_BIN/pip install /tmp/psycopg2_binary-2.8.3-cp27-cp27mu-manylinux1_x86_64.whl
  28. # Setup directory structure
  29. RUN mkdir -p ${HUE_LOG_DIR} && chown -R ${HUE_USER}:${HUE_USER} ${HUE_LOG_DIR}
  30. RUN mkdir -p ${HUE_CONF} && chown -R ${HUE_USER}:${HUE_USER} ${HUE_CONF}
  31. # sudo privilege
  32. RUN echo "${HUE_USER} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/${HUE_USER} && \
  33. chmod 0440 /etc/sudoers.d/${HUE_USER}
  34. COPY --chown=${HUE_USER}:${HUE_USER} hueconf ${HUE_CONF}/conf
  35. RUN ln -s ${HUE_CONF}/conf/log.conf ${HUE_HOME}/desktop/conf/log.conf; \
  36. ln -s ${HUE_CONF}/conf/log4j.properties ${HUE_HOME}/desktop/conf/log4j.properties
  37. # supervisor stuff
  38. RUN mkdir -p /etc/supervisor.d/ && chmod +w /etc/supervisor.d && mkdir -p /var/log/root
  39. ADD supervisor-files/etc/supervisord.conf /etc/supervisord.conf
  40. ADD supervisor-files/hue_server.conf /etc/supervisor.d/
  41. ADD supervisor-files/hue_ktrenewer.conf /etc/supervisor.d/
  42. EXPOSE 8888 9111
  43. WORKDIR ${HUE_HOME}
  44. CMD ["/usr/bin/supervisord","-c","/etc/supervisord.conf"]