Dockerfile.py2 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. libsnappy-dev \
  20. python-dev \
  21. python-setuptools \
  22. libgmp3-dev \
  23. libz-dev \
  24. software-properties-common \
  25. curl \
  26. git \
  27. rsync \
  28. sudo \
  29. maven \
  30. gcc \
  31. swig \
  32. # openssl \ # Breaks build
  33. xmlsec1 \
  34. libxmlsec1-openssl \
  35. krb5-config \
  36. krb5-user \
  37. && rm -rf /var/lib/apt/lists/*
  38. ADD . /hue
  39. WORKDIR /hue
  40. # Not doing a `make prod`, so manually getting production ini
  41. RUN rm desktop/conf/*
  42. COPY desktop/conf.dist desktop/conf
  43. # Need recent version for Ubuntu
  44. RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - \
  45. && apt-get install -y nodejs
  46. RUN PREFIX=/usr/share make install
  47. RUN useradd -ms /bin/bash hue && chown -R hue /usr/share/hue
  48. # Only keep install dir
  49. # Note: get more minimal image by pulling install dir in a stage 2 image
  50. WORKDIR /usr/share/hue
  51. RUN rm -rf /hue \
  52. && rm -rf node_modules
  53. # Install DB connectors
  54. RUN ./build/env/bin/pip install \
  55. psycopg2-binary \
  56. redis==2.10.6 \
  57. django_redis \
  58. flower \
  59. # SparkSql show tables
  60. git+https://github.com/gethue/PyHive \
  61. # pyhive \
  62. ksql \
  63. pydruid \
  64. pybigquery \
  65. elasticsearch-dbapi \
  66. pyasn1==0.4.1 \
  67. # View some parquet files
  68. python-snappy==0.5.4 \
  69. gevent \
  70. # Needed for Jaeger
  71. threadloop \
  72. thrift-sasl==0.2.1
  73. COPY tools/docker/hue/conf desktop/conf
  74. COPY tools/docker/hue/startup.sh .
  75. EXPOSE 8888
  76. CMD ["./startup.sh"]