Dockerfile 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # Welcome to Hue (http://gethue.com) Dockerfile
  2. FROM ubuntu:20.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. python3-pip \
  7. libkrb5-dev \
  8. libsasl2-modules-gssapi-mit \
  9. libsasl2-dev \
  10. libkrb5-dev \
  11. libxml2-dev \
  12. libxslt-dev \
  13. libmysqlclient-dev \
  14. libldap2-dev \
  15. libsnappy-dev \
  16. python3.8-venv \
  17. python3.8-dev \
  18. python3.8-distutils \
  19. rsync \
  20. curl \
  21. sudo \
  22. git && \
  23. rm -rf /var/lib/apt/lists/*
  24. ADD . /hue
  25. RUN pip3 install --upgrade --no-cache-dir setuptools virtualenv pip && \
  26. curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - && \
  27. apt-get install -y nodejs && \
  28. addgroup hue && \
  29. useradd -r -u 1001 -g hue hue && \
  30. chown -R hue /hue && \
  31. mkdir /hue/build && \
  32. chown -R hue /hue/build && \
  33. mkdir /usr/share/hue && \
  34. chown -R hue /usr/share/hue && \
  35. rm -r /hue/desktop/conf/* && \
  36. cp -r /hue/desktop/conf.dist/* /hue/desktop/conf/ && \
  37. cd /hue && \
  38. PREFIX=/usr/share PYTHON_VER=python3.8 make install && \
  39. chown -R hue /usr/share/hue && \
  40. npm cache clean --force && \
  41. pip cache purge && \
  42. rm -rf /var/lib/apt/lists/* && \
  43. cp -r /hue/tools/docker/hue/conf3/* /usr/share/hue/desktop/conf/ && \
  44. cp /hue/tools/docker/hue/startup.sh /usr/share/hue/startup.sh && \
  45. mkdir -p /usr/share/hue/tools/slack && \
  46. cp /hue/tools/slack/manifest.yml /usr/share/hue/tools/slack/manifest.yml && \
  47. rm -rf /hue && \
  48. rm -rf /usr/share/hue/node_modules
  49. WORKDIR /usr/share/hue
  50. # Install DB connectors
  51. # To move to requirements_connectors.txt
  52. RUN ./build/env/bin/pip install --no-cache-dir \
  53. psycopg2-binary \
  54. # Avoid Django 3 pulling
  55. django_redis==4.11.0 \
  56. flower==0.9.7 \
  57. # Contains fix for SparkSql show tables
  58. git+https://github.com/gethue/PyHive \
  59. # pyhive \
  60. impyla==0.17.0 \
  61. #ksql \
  62. git+https://github.com/bryanyang0528/ksql-python \
  63. pydruid \
  64. pybigquery \
  65. elasticsearch-dbapi \
  66. pyasn1==0.4.1 \
  67. # View some parquet files
  68. python-snappy==0.5.4 \
  69. # Needed for Jaeger
  70. threadloop \
  71. # Fix Can't load plugin: sqlalchemy.dialects:clickhouse
  72. sqlalchemy-clickhouse \
  73. # sqlalchemy-clickhouse depend on infi.clickhouse_orm
  74. # install after sqlalchemy-clickhouse and version == 1.0.4
  75. # otherwise Code: 516, Authentication failed will display
  76. infi.clickhouse_orm==1.0.4
  77. USER hue
  78. EXPOSE 8888
  79. CMD ["./startup.sh"]