├── base ├── README.md ├── debian │ └── Dockerfile ├── oracle │ ├── .gitattributes │ ├── Dockerfile │ └── instantclient │ │ ├── instantclient-basic-linux.x64-12.1.0.2.0.zip │ │ └── instantclient-sdk-linux.x64-12.1.0.2.0.zip └── ubuntu │ └── Dockerfile └── nginx ├── Dockerfile └── redash.conf /base/README.md: -------------------------------------------------------------------------------- 1 | # Base Docker images for Redash production and development images. 2 | 3 | ## `debian` 4 | 5 | A Docker image based on the official Python Docker image (Debian based). 6 | 7 | `redash/base:debian` 8 | 9 | ## `ubuntu` 10 | 11 | A Docker image based on the Ubuntu Xenial Docker image. 12 | 13 | This is the current base Docker image for the `redash/redash` image. 14 | 15 | `redash/base:latest` 16 | 17 | ## `oracle` 18 | 19 | Image based on `redash/base:xenial` which installs Oracle's Instant Client. To use 20 | this image, you need to accept the license [on this page](https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html). 21 | 22 | `redash/base:oracle` 23 | -------------------------------------------------------------------------------- /base/debian/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2-slim 2 | 3 | EXPOSE 5000 4 | 5 | RUN useradd --create-home redash 6 | 7 | # Ubuntu packages 8 | RUN apt-get update && \ 9 | apt-get install -y \ 10 | curl \ 11 | gnupg \ 12 | build-essential \ 13 | pwgen \ 14 | libffi-dev \ 15 | sudo \ 16 | git-core \ 17 | wget \ 18 | # Postgres client 19 | libpq-dev \ 20 | # for SAML 21 | xmlsec1 \ 22 | # Additional packages required for data sources: 23 | libssl-dev \ 24 | default-libmysqlclient-dev \ 25 | freetds-dev \ 26 | libsasl2-dev && \ 27 | apt-get clean && \ 28 | rm -rf /var/lib/apt/lists/* 29 | 30 | WORKDIR /app 31 | -------------------------------------------------------------------------------- /base/oracle/.gitattributes: -------------------------------------------------------------------------------- 1 | instantclient/*.zip filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /base/oracle/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM redash/base:debian 2 | 3 | RUN apt-get update && \ 4 | apt-get install -y \ 5 | unzip libaio-dev && \ 6 | apt-get clean && \ 7 | rm -rf /var/lib/apt/lists/* 8 | 9 | # Oracle support 10 | RUN mkdir -p /opt/oracle 11 | ADD ./instantclient/ . 12 | 13 | RUN unzip instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ 14 | && unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ 15 | && mv /opt/oracle/instantclient_12_1 /opt/oracle/instantclient \ 16 | && ln -s /opt/oracle/instantclient/libclntsh.so.12.1 /opt/oracle/instantclient/libclntsh.so \ 17 | && ln -s /opt/oracle/instantclient/libocci.so.12.1 /opt/oracle/instantclient/libocci.so \ 18 | && rm instantclient-basic-linux.x64-12.1.0.2.0.zip \ 19 | && rm instantclient-sdk-linux.x64-12.1.0.2.0.zip 20 | 21 | ENV LD_LIBRARY_PATH="/opt/oracle/instantclient" OCI_HOME="/opt/oracle/instantclient" OCI_LIB_DIR="/opt/oracle/instantclient" OCI_INCLUDE_DIR="/opt/oracle/instantclient/sdk/include" ORACLE_HOME="/opt/oracle/instantclient" 22 | RUN echo '/opt/oracle/instantclient/' | tee -a /etc/ld.so.conf.d/oracle_instant_client.conf && ldconfig && pip install cx_Oracle==5.2 23 | -------------------------------------------------------------------------------- /base/oracle/instantclient/instantclient-basic-linux.x64-12.1.0.2.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getredash/docker/119056361440895dd317328515489def1f868c15/base/oracle/instantclient/instantclient-basic-linux.x64-12.1.0.2.0.zip -------------------------------------------------------------------------------- /base/oracle/instantclient/instantclient-sdk-linux.x64-12.1.0.2.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/getredash/docker/119056361440895dd317328515489def1f868c15/base/oracle/instantclient/instantclient-sdk-linux.x64-12.1.0.2.0.zip -------------------------------------------------------------------------------- /base/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:xenial 2 | 3 | EXPOSE 5000 4 | 5 | RUN useradd --create-home redash 6 | 7 | # Ubuntu packages 8 | RUN apt-get update && apt-get install -y curl && curl https://deb.nodesource.com/setup_6.x | bash - && \ 9 | apt-get install -y python-pip python-dev build-essential pwgen libffi-dev sudo git-core wget unzip \ 10 | nodejs \ 11 | # Postgres client 12 | libpq-dev \ 13 | # for SAML 14 | xmlsec1 \ 15 | # Additional packages required for data sources: 16 | libaio1 libssl-dev libmysqlclient-dev freetds-dev libsasl2-dev && \ 17 | apt-get clean && \ 18 | rm -rf /var/lib/apt/lists/* 19 | 20 | RUN pip install -U setuptools==23.1.0 21 | 22 | WORKDIR /app 23 | -------------------------------------------------------------------------------- /nginx/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:stable-alpine-slim 2 | 3 | COPY redash.conf /etc/nginx/conf.d/default.conf 4 | -------------------------------------------------------------------------------- /nginx/redash.conf: -------------------------------------------------------------------------------- 1 | upstream redash { 2 | server redash:5000; 3 | } 4 | 5 | server { 6 | listen 80 default; 7 | 8 | gzip on; 9 | gzip_types *; 10 | gzip_proxied any; 11 | proxy_buffer_size 8k; 12 | 13 | location / { 14 | proxy_set_header Host $http_host; 15 | proxy_set_header X-Real-IP $remote_addr; 16 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 17 | proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; 18 | 19 | proxy_pass http://redash; 20 | } 21 | } 22 | --------------------------------------------------------------------------------