diff --git a/.dockerignore b/.dockerignore index 5b58513..2ec856d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -4,10 +4,13 @@ __pycache__/ .git/ .agents/ .codex/ +node_modules/ +.env app.log server.out.log server.err.log +data/ pipe_survival_0331.db uploads/ static/images/ diff --git a/.env.example b/.env.example index a9b6d93..9b191c1 100644 --- a/.env.example +++ b/.env.example @@ -1,10 +1,10 @@ # Copy to .env for local deployment. # Generate SECRET_KEY with: python -c "import secrets; print(secrets.token_hex(32))" -SECRET_KEY= +SECRET_KEY=change-me-to-a-long-random-secret # Required for first deployment. Used to create or rotate the admin account on startup. ADMIN_USERNAME=admin -ADMIN_PASSWORD= +ADMIN_PASSWORD=change-me # Persist the app database in the mounted ./data directory. DATABASE_URL=sqlite:////app/data/pipe_survival_0331.db diff --git a/Dockerfile b/Dockerfile index 6b2e211..1737b89 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,4 +28,4 @@ RUN mkdir -p data static/images uploads EXPOSE 5005 -CMD ["conda", "run", "--no-capture-output", "-n", "demo", "python", "main.py"] +CMD ["conda", "run", "--no-capture-output", "-n", "demo", "gunicorn", "--bind", "0.0.0.0:5005", "--workers", "2", "--threads", "4", "--timeout", "120", "main:app"] diff --git a/docker-compose.yml b/docker-compose.yml index 5a86235..a392106 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,7 @@ services: MAX_UPLOAD_BYTES: ${MAX_UPLOAD_BYTES:-16777216} MODEL_PATH: ${MODEL_PATH:-/app/my_survival_forest_model_quxi-10-0331.joblib} ALLOW_REGISTRATION: ${ALLOW_REGISTRATION:-false} + PASSWORD_RESET_TOKEN_MINUTES: ${PASSWORD_RESET_TOKEN_MINUTES:-30} ports: - "5005:5005" volumes: diff --git a/requirements.txt b/requirements.txt index 19fde4d..eccf471 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,17 +1,18 @@ -Flask==3.1.3 -Flask-SQLAlchemy==3.1.1 -Flask-Login==0.6.3 -Werkzeug==3.1.6 -SQLAlchemy==2.0.48 - -pandas==2.3.3 -numpy==2.0.2 -joblib==1.5.2 -matplotlib==3.10.8 - -openpyxl==3.1.5 -XlsxWriter==3.2.9 -xlrd==2.0.2 - -scikit-learn==1.8.0 -scikit-survival==0.27.0 +Flask==3.1.3 +Flask-SQLAlchemy==3.1.1 +Flask-Login==0.6.3 +Werkzeug==3.1.6 +SQLAlchemy==2.0.48 +gunicorn==23.0.0 + +pandas==2.3.3 +numpy==2.0.2 +joblib==1.5.2 +matplotlib==3.10.8 + +openpyxl==3.1.5 +XlsxWriter==3.2.9 +xlrd==2.0.2 + +scikit-learn==1.8.0 +scikit-survival==0.27.0 diff --git a/templates/login.html b/templates/login.html index 71f264a..841707e 100644 --- a/templates/login.html +++ b/templates/login.html @@ -120,9 +120,8 @@ 供水管道健康评估系统
上传管网数据,自动生成健康状态评估、剩余寿命预测与输入因素重要性分析。
diff --git a/templates/reference.html b/templates/reference.html index bb86565..3862327 100644 --- a/templates/reference.html +++ b/templates/reference.html @@ -7,7 +7,7 @@供水管道健康状态与剩余寿命评估技术导则
+供水管道健康状态与剩余寿命评估系统