Dockerfile 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. FROM ${HUELBBASE_VERSION}
  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_HOME="/opt/${HUEUSER}" \
  12. HUE_CONF_DIR="${HUE_CONF}/conf" \
  13. HUE_LOG_DIR="/var/log/${HUEUSER}" \
  14. HUE_BUILDNO=${GBN} \
  15. HUE_SHAURL=${GSHA} \
  16. HUE_BRANCHURL=${GBRANCH} \
  17. HUE_VERSION=${VERSION} \
  18. HUE_BIN="/opt/${HUEUSER}/build/env/bin" \
  19. PATH=$PATH:${HUE_BIN} \
  20. SUPERVISOR_VERSION=4.0.2
  21. # Switch to non-root default user
  22. RUN yum install -y microdnf && \
  23. microdnf install -y shadow-utils findutils && \
  24. groupadd -g 1000 ${HUEUSER} && \
  25. useradd -g 1000 -d ${HUE_HOME} -s /bin/bash -u 1000 ${HUEUSER}
  26. RUN mkdir -p ${HUE_LOG_DIR} && chown -R ${HUEUSER}:${HUEUSER} ${HUE_LOG_DIR}
  27. RUN echo "Include /etc/httpd/conf.d/hue_httpd.conf" >> /etc/httpd/conf/httpd.conf
  28. COPY --chown=${HUEUSER}:${HUEUSER} static ${HUE_HOME}/build/static
  29. COPY --chown=${HUEUSER}:${HUEUSER} hue_httpd.conf /etc/httpd/conf.d/hue_httpd.conf
  30. COPY --chown=${HUEUSER}:${HUEUSER} hue.conf /etc/httpd/conf.d/hue.conf
  31. COPY --chown=${HUEUSER}:${HUEUSER} run_httpd.sh ${HUE_HOME}
  32. RUN sed -i "s|Listen 80|Listen 8080|g" /etc/httpd/conf/httpd.conf && sed -i "s|User apache|User hive|g" /etc/httpd/conf/httpd.conf && sed -i "s|Group apache|Group hive|g" /etc/httpd/conf/httpd.conf
  33. RUN chmod -v +x ${HUE_HOME}/run_httpd.sh
  34. RUN mkdir -p /run && chown -R ${HUEUSER}:${HUEUSER} /run && mkdir -p /tmp/httpd && chown -R ${HUEUSER}:${HUEUSER} /tmp/httpd && chown -R ${HUEUSER}:${HUEUSER} /etc/httpd && chown -R ${HUEUSER}:${HUEUSER} /var/log && chown -R ${HUEUSER}:${HUEUSER} /etc/httpd/logs
  35. EXPOSE 8080
  36. # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop
  37. STOPSIGNAL SIGINT
  38. # Switch to non-root default user
  39. USER hive
  40. ENV USER hive
  41. WORKDIR ${HUE_HOME}
  42. CMD ["./run_httpd.sh"]