blob: 3d474864f706c504b99970c1b87c0cc0f3d91008 [file] [log] [blame]
FROM python:3.6
MAINTAINER Xiao Hanyu <hanyu.xiao@shopeemobile.com>
# Add a normal user
RUN useradd --user-group --create-home --shell /bin/bash work
# Configure environment
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
HOME=/home/work
RUN apt-get update -y
# Install some dependencies
# http://airbnb.io/superset/installation.html#os-dependencies
RUN apt-get update -y && apt-get install -y build-essential libssl-dev \
libffi-dev python3-dev libsasl2-dev libldap2-dev
RUN apt-get install -y vim less postgresql-client redis-tools
# Install nodejs for custom build
# https://github.com/apache/incubator-superset/blob/master/docs/installation.rst#making-your-own-build
# https://nodejs.org/en/download/package-manager/
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get install -y nodejs
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -; \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list; \
apt-get update; \
apt-get install -y yarn
RUN mkdir $HOME/incubator-superset
WORKDIR $HOME/incubator-superset
COPY ./ ./
RUN pip install --upgrade setuptools pip
RUN pip install -e . && pip install -r requirements-dev.txt
ENV PATH=/home/work/incubator-superset/superset/bin:$PATH \
PYTHONPATH=./superset/:$PYTHONPATH
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
COPY ./superset ./superset
RUN chown -R work:work $HOME
USER work
RUN cd superset/assets && yarn
RUN cd superset/assets && npm run build
HEALTHCHECK CMD ["curl", "-f", "http://localhost:8088/health"]
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 8088