前置环境
- docker
- docker-compose
- nodejs
拉取代码
git clone https://github.com/getredash/redash.git
- 进入redash目录
- 编辑docker-compose.yml文件
- 修改文件内容
- 其中需要将redash服务镜像版本和worker镜像的版本改成redash/redash:3.0.0.b2998,默认是lastest,如果是最新版本,查询数据内容的时候会导致无法查询出内容,日志报错Invalid-Token等相关信息.
- REDASH_COOKIE_SECRET内容改成你的密码,这里我不太理解设置成什么密码,所以就随便输入了一串数字,目前感觉没有什么作用。
- ngninx端口避免和当前机器上的端口冲突,我这里用7788映射80端口
version: '2'
services:
server:
image: redash/redash:3.0.0.b2998
command: server
depends_on:
- postgres
- redis
ports:
- "5000:5000"
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
REDASH_COOKIE_SECRET: "123456"
REDASH_WEB_WORKERS: 4
worker:
image: redash/redash:3.0.0.b2998
command: scheduler
environment:
PYTHONUNBUFFERED: 0
REDASH_LOG_LEVEL: "INFO"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
QUEUES: "queries,scheduled_queries,celery"
WORKERS_COUNT: 2
redis:
image: redis:3.0-alpine
mongodb:
image: mongo:3.2
ports:
- "27017:27017"
click:
image: yandex/clickhouse-server
ports:
- "8123:8123"
- "9000:9000"
- "9009:9009"
ulimits:
nproc: 65535
nofile:
soft: 262144
hard: 262144
postgres:
image: postgres:9.5.6-alpine
ports:
- "5432:5432"
# volumes:
# - /opt/postgres-data:/var/lib/postgresql/data
nginx:
image: redash/nginx:latest
ports:
- "7788:80"
depends_on:
- server
links:
- server:redash
初始化数据库
docker-compose run --rm server create_db
启动docker-compose
docker-compose up -d
使用
- 浏览器访问:{host}:{nginx暴露端口}/setup
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/358133be30d90921abb0b85435ca6856.png)
eg:localhost:7788/setup - 创建数据源
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ed353812dd6df3d83751d4208d6838cb.png)
- 创建查询
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3d4093bdbf1d87fa9d1afea7e9be693f.png)
- 创建可视化图标
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/82bd05f087540fbc48807f904aeada7b.png)
扩展
docker-compose down
- 重新启动docker-compose,docker-compose.yml文件配置会失效,所以需要重新初始化数据库操作。
遇到的问题
- Invalid Token 无效token 最新版本的redash造成的,需要降低redash版本。
- 重新启动失败,需要重新格式化数据库