Files

53 lines
1.8 KiB
Bash

# Copy to .env and fill in. Do NOT commit .env.
DB_USER=jqc_features
DB_PASSWORD=change_me
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=jqc_features
# Or set a full URI and it overrides the parts above:
# DATABASE_URL=mysql+pymysql://user:pass@127.0.0.1:3306/jqc_features?charset=utf8mb4
# Fallback "email us directly" link shown under the booking form
DEMO_CONTACT_URL=mailto:info@ltservicesinc.com
# --- Demo appointments (/demo) ---
# Owner notification address. Blank -> no mail, requests still land in /admin/demos.
DEMO_NOTIFY_EMAIL=info@ltservicesinc.com
# Email the customer a confirmation copy too (1/0)
DEMO_CONFIRM_CUSTOMER=1
# Bookable window and slot size
DEMO_HOUR_START=8
DEMO_HOUR_END=17
DEMO_SLOT_MINUTES=30
DEMO_MAX_DAYS_AHEAD=90
DEMO_TIMEZONE_LABEL=Eastern Time
# Max form submissions per IP per hour (per gunicorn worker)
DEMO_RATE_LIMIT=5
# --- Outgoing mail (SMTP). Leave SMTP_HOST blank to disable mail entirely. ---
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
# STARTTLS on port 587:
SMTP_USE_TLS=1
# Implicit TLS on port 465 (set SMTP_USE_TLS=0 if you use this):
SMTP_USE_SSL=0
SMTP_TIMEOUT=20
# From address; defaults to SMTP_USER when blank
MAIL_FROM=
MAIL_SUBJECT_PREFIX=[JQC]
# --- Admin panel ---
# Sign session cookies + CSRF tokens. Generate: python3 -c "import secrets; print(secrets.token_hex(32))"
SECRET_KEY=change_me_to_a_long_random_string
ADMIN_USERNAME=admin
# Generate: python3 -c "from werkzeug.security import generate_password_hash as g; print(g('yourpassword'))"
ADMIN_PASSWORD_HASH=
# Set to 1 once served over HTTPS (required for the login cookie to send). Use 0 for plain-HTTP local testing.
SESSION_COOKIE_SECURE=1
# Where the auth log fail2ban watches is written. Blank -> <appdir>/logs/auth.log
AUTH_LOG_PATH=
# CSRF token lifetime (seconds). Blank -> token lasts the whole session (no 1h expiry).
WTF_CSRF_TIME_LIMIT=