mirror of
https://github.com/valitydev/redash.git
synced 2024-11-06 09:05:17 +00:00
965db26cab
If you run the docker-compose on a Mac with the new M1 chip, you will get the "Unable to locate package msodbcsql17" error. Because there are currently no msodbcsql17 packages for arm64 architecture. The solution was to change the base image in the Dockerfile to change the installation to the older AMD architecture. FROM --platform=linux/amd64 python:3.7-slim-buster
106 lines
3.2 KiB
Docker
106 lines
3.2 KiB
Docker
FROM node:14.17 as frontend-builder
|
|
|
|
RUN npm install --global --force yarn@1.22.10
|
|
|
|
# Controls whether to build the frontend assets
|
|
ARG skip_frontend_build
|
|
|
|
ENV CYPRESS_INSTALL_BINARY=0
|
|
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
|
|
|
|
RUN useradd -m -d /frontend redash
|
|
USER redash
|
|
|
|
WORKDIR /frontend
|
|
COPY --chown=redash package.json yarn.lock .yarnrc /frontend/
|
|
COPY --chown=redash viz-lib /frontend/viz-lib
|
|
|
|
# Controls whether to instrument code for coverage information
|
|
ARG code_coverage
|
|
ENV BABEL_ENV=${code_coverage:+test}
|
|
|
|
RUN if [ "x$skip_frontend_build" = "x" ] ; then yarn --frozen-lockfile --network-concurrency 1; fi
|
|
|
|
COPY --chown=redash client /frontend/client
|
|
COPY --chown=redash webpack.config.js /frontend/
|
|
RUN if [ "x$skip_frontend_build" = "x" ] ; then yarn build; else mkdir -p /frontend/client/dist && touch /frontend/client/dist/multi_org.html && touch /frontend/client/dist/index.html; fi
|
|
|
|
FROM --platform=linux/amd64 python:3.7-slim-buster
|
|
|
|
EXPOSE 5000
|
|
|
|
# Controls whether to install extra dependencies needed for all data sources.
|
|
ARG skip_ds_deps
|
|
# Controls whether to install dev dependencies.
|
|
ARG skip_dev_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 \
|
|
# ODBC support:
|
|
g++ unixodbc-dev \
|
|
# for SAML
|
|
xmlsec1 \
|
|
# Additional packages required for data sources:
|
|
libssl-dev \
|
|
default-libmysqlclient-dev \
|
|
freetds-dev \
|
|
libsasl2-dev \
|
|
unzip \
|
|
libsasl2-modules-gssapi-mit && \
|
|
# MSSQL ODBC Driver:
|
|
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
|
|
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
|
|
apt-get update && \
|
|
ACCEPT_EULA=Y apt-get install -y msodbcsql17 && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
ARG databricks_odbc_driver_url=https://databricks.com/wp-content/uploads/2.6.10.1010-2/SimbaSparkODBC-2.6.10.1010-2-Debian-64bit.zip
|
|
RUN wget --quiet $databricks_odbc_driver_url -O /tmp/simba_odbc.zip \
|
|
&& chmod 600 /tmp/simba_odbc.zip \
|
|
&& unzip /tmp/simba_odbc.zip -d /tmp/ \
|
|
&& dpkg -i /tmp/SimbaSparkODBC-*/*.deb \
|
|
&& echo "[Simba]\nDriver = /opt/simba/spark/lib/64/libsparkodbc_sb64.so" >> /etc/odbcinst.ini \
|
|
&& rm /tmp/simba_odbc.zip \
|
|
&& rm -rf /tmp/SimbaSparkODBC*
|
|
|
|
WORKDIR /app
|
|
|
|
# Disable PIP Cache and Version Check
|
|
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
ENV PIP_NO_CACHE_DIR=1
|
|
|
|
# rollback pip version to avoid legacy resolver problem
|
|
RUN pip install pip==20.2.4;
|
|
|
|
# We first copy only the requirements file, to avoid rebuilding on every file change.
|
|
COPY requirements_all_ds.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 requirements_bundles.txt requirements_dev.txt ./
|
|
RUN if [ "x$skip_dev_deps" = "x" ] ; then pip install -r requirements_dev.txt ; fi
|
|
|
|
COPY requirements.txt ./
|
|
RUN pip install -r requirements.txt
|
|
|
|
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"]
|