mirror of
https://github.com/valitydev/redash.git
synced 2024-11-06 09:05:17 +00:00
7c05a730dc
* Remove --max-old-space-size=4096 from build Looks like it's no longer needed. * Update to node v12. * Add build:old-node-version for those who have Node < 12.
58 lines
1.3 KiB
Docker
58 lines
1.3 KiB
Docker
FROM node:12 as frontend-builder
|
|
|
|
WORKDIR /frontend
|
|
COPY package.json package-lock.json /frontend/
|
|
RUN npm install
|
|
|
|
COPY client /frontend/client
|
|
COPY webpack.config.js /frontend/
|
|
RUN npm run build
|
|
|
|
FROM python:3.7-slim
|
|
|
|
EXPOSE 5000
|
|
|
|
# Controls whether to install extra dependencies needed for all data sources.
|
|
ARG skip_ds_deps
|
|
|
|
RUN useradd --create-home redash
|
|
|
|
# Ubuntu packages
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
curl \
|
|
gnupg \
|
|
build-essential \
|
|
pwgen \
|
|
libffi-dev \
|
|
sudo \
|
|
git-core \
|
|
wget \
|
|
# Postgres client
|
|
libpq-dev \
|
|
# for SAML
|
|
xmlsec1 \
|
|
# Additional packages required for data sources:
|
|
libssl-dev \
|
|
default-libmysqlclient-dev \
|
|
freetds-dev \
|
|
libsasl2-dev && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# We first copy only the requirements file, to avoid rebuilding on every file
|
|
# change.
|
|
COPY requirements.txt requirements_bundles.txt requirements_dev.txt requirements_all_ds.txt ./
|
|
RUN pip install -r requirements.txt -r requirements_dev.txt
|
|
RUN if [ "x$skip_ds_deps" = "x" ] ; then pip install -r requirements_all_ds.txt ; else echo "Skipping pip install -r requirements_all_ds.txt" ; fi
|
|
|
|
COPY . /app
|
|
COPY --from=frontend-builder /frontend/client/dist /app/client/dist
|
|
RUN chown -R redash /app
|
|
USER redash
|
|
|
|
ENTRYPOINT ["/app/bin/docker-entrypoint"]
|
|
CMD ["server"]
|