mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2024-12-25 14:15:38 +03:00
redash init
This commit is contained in:
parent
2a1592b813
commit
55eb50be15
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "linux/advanced/redash/redash-repo"]
|
||||||
|
path = linux/advanced/redash/redash-repo
|
||||||
|
url = git@github.com:getredash/redash.git
|
105
linux/advanced/redash/Dockerfile
Normal file
105
linux/advanced/redash/Dockerfile
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
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 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"]
|
98
linux/advanced/redash/README.md
Normal file
98
linux/advanced/redash/README.md
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img title="Redash" src='https://redash.io/assets/images/logo.png' width="200px"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
[![Documentation](https://img.shields.io/badge/docs-redash.io/help-brightgreen.svg)](https://redash.io/help/)
|
||||||
|
[![Datree](https://s3.amazonaws.com/catalog.static.datree.io/datree-badge-20px.svg)](https://datree.io/?src=badge)
|
||||||
|
[![Build Status](https://circleci.com/gh/getredash/redash.png?style=shield&circle-token=8a695aa5ec2cbfa89b48c275aea298318016f040)](https://circleci.com/gh/getredash/redash/tree/master)
|
||||||
|
|
||||||
|
Redash is designed to enable anyone, regardless of the level of technical sophistication, to harness the power of data big and small. SQL users leverage Redash to explore, query, visualize, and share data from any data sources. Their work in turn enables anybody in their organization to use the data. Every day, millions of users at thousands of organizations around the world use Redash to develop insights and make data-driven decisions.
|
||||||
|
|
||||||
|
Redash features:
|
||||||
|
|
||||||
|
1. **Browser-based**: Everything in your browser, with a shareable URL.
|
||||||
|
2. **Ease-of-use**: Become immediately productive with data without the need to master complex software.
|
||||||
|
3. **Query editor**: Quickly compose SQL and NoSQL queries with a schema browser and auto-complete.
|
||||||
|
4. **Visualization and dashboards**: Create [beautiful visualizations](https://redash.io/help/user-guide/visualizations/visualization-types) with drag and drop, and combine them into a single dashboard.
|
||||||
|
5. **Sharing**: Collaborate easily by sharing visualizations and their associated queries, enabling peer review of reports and queries.
|
||||||
|
6. **Schedule refreshes**: Automatically update your charts and dashboards at regular intervals you define.
|
||||||
|
7. **Alerts**: Define conditions and be alerted instantly when your data changes.
|
||||||
|
8. **REST API**: Everything that can be done in the UI is also available through REST API.
|
||||||
|
9. **Broad support for data sources**: Extensible data source API with native support for a long list of common databases and platforms.
|
||||||
|
|
||||||
|
<img src="https://raw.githubusercontent.com/getredash/website/8e820cd02c73a8ddf4f946a9d293c54fd3fb08b9/website/_assets/images/redash-anim.gif" width="80%"/>
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
* [Setting up Redash instance](https://redash.io/help/open-source/setup) (includes links to ready-made AWS/GCE images).
|
||||||
|
* [Documentation](https://redash.io/help/).
|
||||||
|
|
||||||
|
## Supported Data Sources
|
||||||
|
|
||||||
|
Redash supports more than 35 SQL and NoSQL [data sources](https://redash.io/help/data-sources/supported-data-sources). It can also be extended to support more. Below is a list of built-in sources:
|
||||||
|
|
||||||
|
- Amazon Athena
|
||||||
|
- Amazon DynamoDB
|
||||||
|
- Amazon Redshift
|
||||||
|
- Axibase Time Series Database
|
||||||
|
- Cassandra
|
||||||
|
- ClickHouse
|
||||||
|
- CockroachDB
|
||||||
|
- CSV
|
||||||
|
- Databricks (Apache Spark)
|
||||||
|
- DB2 by IBM
|
||||||
|
- Druid
|
||||||
|
- Elasticsearch
|
||||||
|
- Google Analytics
|
||||||
|
- Google BigQuery
|
||||||
|
- Google Spreadsheets
|
||||||
|
- Graphite
|
||||||
|
- Greenplum
|
||||||
|
- Hive
|
||||||
|
- Impala
|
||||||
|
- InfluxDB
|
||||||
|
- JIRA
|
||||||
|
- JSON
|
||||||
|
- Apache Kylin
|
||||||
|
- OmniSciDB (Formerly MapD)
|
||||||
|
- MemSQL
|
||||||
|
- Microsoft Azure Data Warehouse / Synapse
|
||||||
|
- Microsoft Azure SQL Database
|
||||||
|
- Microsoft SQL Server
|
||||||
|
- MongoDB
|
||||||
|
- MySQL
|
||||||
|
- Oracle
|
||||||
|
- PostgreSQL
|
||||||
|
- Presto
|
||||||
|
- Prometheus
|
||||||
|
- Python
|
||||||
|
- Qubole
|
||||||
|
- Rockset
|
||||||
|
- Salesforce
|
||||||
|
- ScyllaDB
|
||||||
|
- Shell Scripts
|
||||||
|
- Snowflake
|
||||||
|
- SQLite
|
||||||
|
- TiDB
|
||||||
|
- TreasureData
|
||||||
|
- Vertica
|
||||||
|
- Yandex AppMetrrica
|
||||||
|
- Yandex Metrica
|
||||||
|
|
||||||
|
## Getting Help
|
||||||
|
|
||||||
|
* Issues: https://github.com/getredash/redash/issues
|
||||||
|
* Discussion Forum: https://discuss.redash.io/
|
||||||
|
|
||||||
|
## Reporting Bugs and Contributing Code
|
||||||
|
|
||||||
|
* Want to report a bug or request a feature? Please open [an issue](https://github.com/getredash/redash/issues/new).
|
||||||
|
* Want to help us build **_Redash_**? Fork the project, edit in a [dev environment](https://redash.io/help-onpremise/dev/guide.html) and make a pull request. We need all the help we can get!
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
Please email security@redash.io to report any security vulnerabilities. We will acknowledge receipt of your vulnerability and strive to send you regular updates about our progress. If you're curious about the status of your disclosure please feel free to email us again. If you want to encrypt your disclosure email, you can use [this PGP key](https://keybase.io/arikfr/key.asc).
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
BSD-2-Clause.
|
65
linux/advanced/redash/docker-compose.yml
Normal file
65
linux/advanced/redash/docker-compose.yml
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# This configuration file is for the **development** setup.
|
||||||
|
# For a production example please refer to getredash/setup repository on GitHub.
|
||||||
|
version: "2.2"
|
||||||
|
x-redash-service: &redash-service
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
args:
|
||||||
|
skip_frontend_build: "true"
|
||||||
|
volumes:
|
||||||
|
- .:/app
|
||||||
|
x-redash-environment: &redash-environment
|
||||||
|
REDASH_LOG_LEVEL: "INFO"
|
||||||
|
REDASH_REDIS_URL: "redis://redis:6379/0"
|
||||||
|
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
|
||||||
|
REDASH_RATELIMIT_ENABLED: "false"
|
||||||
|
REDASH_MAIL_DEFAULT_SENDER: "redash@example.com"
|
||||||
|
REDASH_MAIL_SERVER: "email"
|
||||||
|
REDASH_ENFORCE_CSRF: "true"
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
<<: *redash-service
|
||||||
|
command: dev_server
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
- redis
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
- "5678:5678"
|
||||||
|
environment:
|
||||||
|
<<: *redash-environment
|
||||||
|
PYTHONUNBUFFERED: 0
|
||||||
|
scheduler:
|
||||||
|
<<: *redash-service
|
||||||
|
command: dev_scheduler
|
||||||
|
depends_on:
|
||||||
|
- server
|
||||||
|
environment:
|
||||||
|
<<: *redash-environment
|
||||||
|
worker:
|
||||||
|
<<: *redash-service
|
||||||
|
command: dev_worker
|
||||||
|
depends_on:
|
||||||
|
- server
|
||||||
|
environment:
|
||||||
|
<<: *redash-environment
|
||||||
|
PYTHONUNBUFFERED: 0
|
||||||
|
redis:
|
||||||
|
image: redis:3-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
postgres:
|
||||||
|
image: postgres:9.5-alpine
|
||||||
|
# The following turns the DB into less durable, but gains significant performance improvements for the tests run (x3
|
||||||
|
# improvement on my personal machine). We should consider moving this into a dedicated Docker Compose configuration for
|
||||||
|
# tests.
|
||||||
|
ports:
|
||||||
|
- "15432:5432"
|
||||||
|
command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF"
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: "trust"
|
||||||
|
email:
|
||||||
|
image: djfarrelly/maildev
|
||||||
|
ports:
|
||||||
|
- "1080:80"
|
||||||
|
restart: unless-stopped
|
1
linux/advanced/redash/redash-repo
Submodule
1
linux/advanced/redash/redash-repo
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 2e67227f1bb6068c3f23bc044ad76ef7d4bccdc7
|
Loading…
Reference in New Issue
Block a user