35 lines
979 B
Python
35 lines
979 B
Python
"""WSGI entrypoint for production servers (gunicorn/uWSGI/etc.).
|
|
|
|
This file exposes a module-level WSGI callable named `app` (and `application`)
|
|
so common servers can run the project without relying on Flask's dev server.
|
|
|
|
Examples:
|
|
gunicorn -w 4 -b 0.0.0.0:8000 wsgi:app
|
|
uwsgi --http :8000 --wsgi-file wsgi.py --callable app
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
|
|
# `flask run` loads .env/.flaskenv automatically via python-dotenv.
|
|
# Production WSGI servers typically *don't*, so we best-effort load `.env` here.
|
|
# In real production, prefer setting environment variables via your process manager.
|
|
try:
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv(os.environ.get("DOTENV_PATH", ".env"), override=False)
|
|
except Exception:
|
|
# If python-dotenv isn't installed (or any other issue occurs), continue.
|
|
pass
|
|
|
|
|
|
from app import create_app
|
|
|
|
|
|
app = create_app()
|
|
|
|
# Some servers (and hosting platforms) look specifically for `application`.
|
|
application = app
|