74 lines
3.0 KiB
Python
74 lines
3.0 KiB
Python
import os
|
|
|
|
basedir = os.path.abspath(os.path.dirname(__file__))
|
|
|
|
|
|
class Config:
|
|
|
|
SESSION_COOKIE_HTTPONLY = True
|
|
SESSION_COOKIE_SAMESITE = "Lax" # działa w HTTP i HTTPS
|
|
|
|
SECRET_KEY = os.environ.get("SECRET_KEY", "D8pceNZ8q%YR7^7F&9wAC2")
|
|
|
|
DB_ENGINE = os.environ.get("DB_ENGINE", "sqlite").lower()
|
|
if DB_ENGINE == "sqlite":
|
|
SQLALCHEMY_DATABASE_URI = (
|
|
f"sqlite:///{os.path.join(basedir, 'db', 'shopping.db')}"
|
|
)
|
|
elif DB_ENGINE == "pgsql":
|
|
SQLALCHEMY_DATABASE_URI = f"postgresql://{os.environ['DB_USER']}:{os.environ['DB_PASSWORD']}@{os.environ['DB_HOST']}:{os.environ.get('DB_PORT', 5432)}/{os.environ['DB_NAME']}"
|
|
elif DB_ENGINE == "mysql":
|
|
SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{os.environ['DB_USER']}:{os.environ['DB_PASSWORD']}@{os.environ['DB_HOST']}:{os.environ.get('DB_PORT', 3306)}/{os.environ['DB_NAME']}"
|
|
else:
|
|
raise ValueError("Nieobsługiwany typ bazy danych.")
|
|
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
SYSTEM_PASSWORD = os.environ.get("SYSTEM_PASSWORD", "admin")
|
|
DEFAULT_ADMIN_USERNAME = os.environ.get("DEFAULT_ADMIN_USERNAME", "admin")
|
|
DEFAULT_ADMIN_PASSWORD = os.environ.get("DEFAULT_ADMIN_PASSWORD", "admin123")
|
|
UPLOAD_FOLDER = os.environ.get("UPLOAD_FOLDER", "uploads")
|
|
AUTHORIZED_COOKIE_VALUE = os.environ.get("AUTHORIZED_COOKIE_VALUE", "cookievalue")
|
|
BCRYPT_PEPPER = os.environ.get("BCRYPT_PEPPER", "sekretnyKluczBcrypt")
|
|
SESSION_COOKIE_SECURE = os.environ.get("SESSION_COOKIE_SECURE", "0") == "1"
|
|
HEALTHCHECK_TOKEN = os.environ.get("HEALTHCHECK_TOKEN", "alamapsaikota1234")
|
|
|
|
try:
|
|
AUTH_COOKIE_MAX_AGE = int(
|
|
os.environ.get("AUTH_COOKIE_MAX_AGE", "86400") or "86400"
|
|
)
|
|
except ValueError:
|
|
AUTH_COOKIE_MAX_AGE = 86400
|
|
|
|
try:
|
|
SESSION_TIMEOUT_MINUTES = int(
|
|
os.environ.get("SESSION_TIMEOUT_MINUTES", "10080") or "10080"
|
|
)
|
|
except ValueError:
|
|
SESSION_TIMEOUT_MINUTES = 10080
|
|
|
|
ENABLE_HSTS = os.environ.get("ENABLE_HSTS", "0") == "1"
|
|
ENABLE_XFO = os.environ.get("ENABLE_XFO", "0") == "1"
|
|
ENABLE_XCTO = os.environ.get("ENABLE_XCTO", "0") == "1"
|
|
ENABLE_CSP = os.environ.get("ENABLE_CSP", "0") == "1"
|
|
ENABLE_PP = os.environ.get("ENABLE_PP", "0") == "1"
|
|
REFERRER_POLICY = os.environ.get("REFERRER_POLICY") or None
|
|
|
|
DEBUG_MODE = os.environ.get("DEBUG_MODE", "1") == "1"
|
|
DISABLE_ROBOTS = os.environ.get("DISABLE_ROBOTS", "0") == "1"
|
|
|
|
JS_CACHE_CONTROL = os.environ.get(
|
|
"JS_CACHE_CONTROL", "no-cache, no-store, must-revalidate"
|
|
)
|
|
CSS_CACHE_CONTROL = os.environ.get(
|
|
"CSS_CACHE_CONTROL", "public, max-age=3600"
|
|
)
|
|
LIB_JS_CACHE_CONTROL = os.environ.get(
|
|
"LIB_JS_CACHE_CONTROL", "public, max-age=604800"
|
|
)
|
|
LIB_CSS_CACHE_CONTROL = os.environ.get(
|
|
"LIB_CSS_CACHE_CONTROL", "public, max-age=604800"
|
|
)
|
|
UPLOADS_CACHE_CONTROL = os.environ.get(
|
|
"UPLOADS_CACHE_CONTROL", "public, max-age=2592000, immutable"
|
|
)
|