Dockerfile 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # Welcome to Hue (http://gethue.com) Dockerfile
  2. FROM ubuntu:18.04
  3. LABEL description="Hue SQL Assistant - gethue.com"
  4. ENV DEBIAN_FRONTEND=noninteractive
  5. RUN apt-get update -y && apt-get install -y \
  6. build-essential \
  7. libkrb5-dev \
  8. libmysqlclient-dev \
  9. libssl-dev \
  10. libsasl2-dev \
  11. libsasl2-modules-gssapi-mit \
  12. libsqlite3-dev \
  13. libtidy-dev \
  14. libxml2-dev \
  15. libxslt-dev \
  16. libffi-dev \
  17. libldap2-dev \
  18. libpq-dev \
  19. python-dev \
  20. python-setuptools \
  21. libgmp3-dev \
  22. libz-dev \
  23. software-properties-common \
  24. curl \
  25. git \
  26. rsync \
  27. sudo \
  28. maven \
  29. gcc \
  30. swig \
  31. # openssl \ # Breaks build
  32. xmlsec1 \
  33. libxmlsec1-openssl \
  34. krb5-config \
  35. krb5-user \
  36. && rm -rf /var/lib/apt/lists/*
  37. ADD . /hue
  38. WORKDIR /hue
  39. # Not doing a `make prod`, so manually getting production ini
  40. RUN rm desktop/conf/*
  41. COPY desktop/conf.dist desktop/conf
  42. # Need recent version for Ubuntu
  43. RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo bash - \
  44. && apt-get install -y nodejs
  45. RUN PREFIX=/usr/share make install
  46. RUN useradd -ms /bin/bash hue && chown -R hue /usr/share/hue
  47. # Only keep install dir
  48. # Note: get more minimal image by pulling install dir in a stage 2 image
  49. WORKDIR /usr/share/hue
  50. RUN rm -rf /hue \
  51. && rm -rf node_modules
  52. # Install DB connectors
  53. RUN ./build/env/bin/pip install \
  54. psycopg2-binary \
  55. redis==2.10.6 \
  56. django_redis \
  57. flower \
  58. pyhive \
  59. gevent \
  60. # Needed for Jaeger
  61. threadloop \
  62. thrift-sasl==0.2.1
  63. COPY tools/docker/hue/conf desktop/conf
  64. COPY tools/docker/hue/startup.sh .
  65. EXPOSE 8888
  66. CMD ["./startup.sh"]