diff --git a/README_DOCKER.md b/README_DOCKER.md index 5449b2f..b4a6947 100644 --- a/README_DOCKER.md +++ b/README_DOCKER.md @@ -74,11 +74,13 @@ docker-compose down | 变量名 | 说明 | 默认值 | |--------|------|--------| +| `SECRET_KEY` | Session 密钥(建议修改) | `outlook-mail-reader-secret-key-change-in-production` | | `LOGIN_PASSWORD` | 登录密码 | `admin123` | | `FLASK_ENV` | 运行环境 | `production` | | `DATABASE_PATH` | 数据库路径 | `data/outlook_accounts.db` | | `GPTMAIL_BASE_URL` | GPTMail API 地址 | `https://mail.chatgpt.org.uk` | | `GPTMAIL_API_KEY` | GPTMail API Key | `gpt-test` | +| `GPTMAIL_API_KEY` | GPTMail API Key | `gpt-test` | ### 数据持久化 diff --git a/docker-compose.yml b/docker-compose.yml index 84b0d8c..9aa8e0f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,8 @@ services: environment: # Flask 配置 - FLASK_APP=web_outlook_app.py + # Session 密钥(建议修改为随机字符串,重启后保持不变) + - SECRET_KEY=outlook-mail-reader-secret-key-please-change-me # 应用配置 - PORT=5000 - HOST=0.0.0.0 diff --git a/web_outlook_app.py b/web_outlook_app.py index 33cf137..2081942 100644 --- a/web_outlook_app.py +++ b/web_outlook_app.py @@ -22,7 +22,11 @@ from functools import wraps import requests app = Flask(__name__) -app.secret_key = os.urandom(24) +# 使用固定的 secret_key(从环境变量获取,或使用默认值) +# 这样可以确保重启后 session 不会失效 +app.secret_key = os.getenv("SECRET_KEY", "outlook-mail-reader-secret-key-change-in-production") +# 设置 session 过期时间(默认 7 天) +app.config['PERMANENT_SESSION_LIFETIME'] = 60 * 60 * 24 * 7 # 7 天 # 登录密码配置(可以修改为你想要的密码) LOGIN_PASSWORD = os.getenv("LOGIN_PASSWORD", "admin123")