Skip to content

Commit 5e72129

Browse files
committed
✨ feat(Dockerfile): 添加开箱即用配置
1 parent ffe5034 commit 5e72129

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
1818
apt-get -y clean && rm -rf /var/lib/apt/lists/* &&\
1919
# 安装数据库驱动
2020
pip install psycopg2 mysqlclient &&\
21+
# 开箱即用配置, 配置安全密钥和关闭安全验证
22+
sed -i "s/.*SECRET_KEY =.*/SECRET_KEY = \"superset\"/" /app/superset/config.py &&\
23+
sed -i "s/WTF_CSRF_ENABLED = True/WTF_CSRF_ENABLED = False/" /app/superset/config.py &&\
24+
sed -i "s/.*TALISMAN_ENABLED.*/TALISMAN_ENABLED = False/" /app/superset/config.py &&\
2125
# 默认语言
2226
sed -i "s/BABEL_DEFAULT_LOCALE = \"en\"/BABEL_DEFAULT_LOCALE = \"zh\"/" /app/superset/config.py &&\
2327
# 打开语言切换

README.md

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,23 @@
1414

1515
#### 下载镜像
1616

17-
基于官方镜像生成, 修复了汉化问题, 仅保留中文和英文两种语言并且默认显示中文, 默认时区上海, 并添加了 Postgres 和 MySQL 数据库驱动, 其他配置与官方镜像相同.
17+
基于官方镜像生成, 修复了汉化问题, 仅保留中文和英文两种语言并且默认显示中文, 默认时区上海, 并添加了 PostgreSQL 和 MySQL 数据库驱动.
18+
为了做到开箱即用, 修改了以下默认配置:
19+
20+
```python
21+
SECRET_KEY = 'superset'
22+
WTF_CSRF_ENABLED = False
23+
TALISMAN_ENABLED = False
24+
```
25+
26+
一键启动体验汉化版 Superset
1827

1928
```bash
20-
docker pull lutinglt/superset-zh
29+
docker run -d --name superset -p 8080:8088 lutinglt/superset-zh
2130
```
2231

32+
> 登录仍需执行 `superset fab create-admin`, `superset db upgrade``superset init` 命令
33+
2334
参考配置 docker-compose.yml
2435

2536
```yml
@@ -31,27 +42,25 @@ services:
3142
restart: always
3243
ports:
3344
- 8080:8088
34-
environment:
35-
- TZ=Asia/Shanghai
3645
volumes:
3746
# sqlite 存储持久化
3847
- ./superset:~/.superset
3948
# 导入配置文件
4049
- ./superset_config.py:/app/pythonpath/superset_config.py
4150
```
4251
43-
参考配置 superset_config.py (Postgres数据库)
52+
参考配置 superset_config.py (PostgreSQL 数据库)
53+
54+
> [!NOTE]
55+
>
56+
> SECRET_KEY 会用来签名 cookie 和加密 Superset 存储在数据库中的敏感数据
57+
> 推荐使用 `openssl rand -base64 42` 命令生成一个足够复杂的安全密钥,
4458

4559
```python
4660
SECRET_KEY = 'superset'
4761
SQLALCHEMY_DATABASE_URI = 'postgresql://username:password@postgres/database'
4862
WTF_CSRF_ENABLED = False
4963
TALISMAN_ENABLED = False
50-
BABEL_DEFAULT_LOCALE = "zh"
51-
LANGUAGES = {
52-
"zh": {"flag": "cn", "name": "简体中文"},
53-
"en": {"flag": "us", "name": "English"},
54-
}
5564
```
5665

5766
#### 手动构建
@@ -103,7 +112,7 @@ docker build -t lutinglt/superset-zh .
103112

104113
> [!TIP]
105114
>
106-
> Superset 2.1.0 之后安装的默认安全选项更为严格, 部署后登录不上, 或无法启动推荐添加以下配置
115+
> 官方镜像 Superset 2.1.0 之后安装的默认安全选项更为严格, 部署后登录不上, 或无法启动推荐添加以下配置(汉化版默认添加了这些配置):
107116
>
108117
> ```python
109118
> SECRET_KEY = 'superset' # 安全密钥, 启动必须进行配置

0 commit comments

Comments
 (0)