diff --git a/app.py b/app.py index ab66e30..ab86a9d 100644 --- a/app.py +++ b/app.py @@ -16,12 +16,19 @@ from functools import wraps import secrets import base64 import hashlib +from flask_session import Session app = Flask(__name__) app.config['UPLOAD_FOLDER'] = tempfile.mkdtemp() app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'secret') app.config['MAX_CONTENT_LENGTH'] = 1000 * 1024 * 1024 * 1024 # 1000TB +# Configure server-side sessions to avoid cookie size limits +app.config['SESSION_TYPE'] = 'filesystem' +app.config['SESSION_FILE_DIR'] = '/tmp/flask_sessions' +app.config['SESSION_PERMANENT'] = False +Session(app) + # Load environment variables load_dotenv() diff --git a/requirements.txt b/requirements.txt index 897ba73..3e77fe9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ Flask==3.0.0 +Flask-Session==0.6.0 PyMuPDF==1.23.7 Werkzeug==3.0.1 waitress==3.0.0 diff --git a/ubuntu-install.sh b/ubuntu-install.sh index 87e8bb8..7611dc6 100644 --- a/ubuntu-install.sh +++ b/ubuntu-install.sh @@ -328,6 +328,11 @@ sudo chown $USER:$USER /var/log/pdf-sort-merge log_info "Creating application data directories..." mkdir -p results static templates +# Create Flask session directory for server-side sessions +log_info "Creating Flask session directory..." +sudo mkdir -p /tmp/flask_sessions +sudo chown $USER:$USER /tmp/flask_sessions + # Set up firewall (optional) log_info "Configuring firewall..." sudo ufw allow 80/tcp || log_warning "Failed to configure firewall for port 80 - you may need to do this manually"