Security: deep /api/health (DB+MinIO probes, 503 on failure) + /api/live; rate-limited public forms with honeypots; real client IP behind Traefik (--proxy-headers); TipTap URL sanitization on write (nh3); non-root containers + slim .dockerignore; prod MinIO console bound to 127.0.0.1; HSTS/nosniff on TLS routers; JWT 8h; no default credentials in code. Reliability: Alembic migrations (create_all baseline); graceful shutdown (exec uvicorn); hardened backups (checksums, sanity check, freshness gauge, optional rclone off-site) + restore.sh + hourly db-backup sidecar (ops profile); stack.sh ops tooling (deploy/logs/health/backup/restore/monitoring); .gitattributes LF for shell scripts. Orchestration: json-file log rotation, pinned images, per-service memory limits, edge/internal networks, Traefik ping/accesslog/metrics + flood limiter, conditional minio-setup, pgvector db image, one-shot db-init (umami + aramesh_chatbot databases). Chatbot: unified from site-chatbot branch (RAG + pgvector, SSE, ChatWidget). Monitoring: Prometheus/Alertmanager/Loki/Promtail/Grafana + cAdvisor, node/postgres/blackbox exporters, provisioned dashboards and 10 alert rules; alerts delivered to Bale (tapi.bale.ai — Telegram-compatible). Analytics: Umami on shared Postgres, build-time tracker injection, custom events (contact/newsletter/phone/chat/lang) via frontend/src/analytics.ts. Hygiene: CSV export for contact messages and subscribers; upload image optimization (Pillow); CI script + GitHub-compatible workflow; audit.sh; gen-env.sh for strong credentials.
22 lines
895 B
Plaintext
22 lines
895 B
Plaintext
# نسخهها دقیق پین شدهاند تا ارتقای خودکار یک وابستگی، استقرار را نشکند.
|
|
# ارتقا: نسخه را دستی بالا ببرید و روی محیط آمادهسازی تست کنید.
|
|
fastapi==0.115.8
|
|
uvicorn[standard]==0.34.0
|
|
sqlalchemy==2.0.36
|
|
psycopg[binary]==3.2.3
|
|
pydantic==2.10.4
|
|
pydantic-settings==2.6.1
|
|
PyJWT==2.10.1
|
|
bcrypt==4.2.1
|
|
email-validator==2.2.0
|
|
boto3==1.35.0
|
|
python-multipart==0.0.18
|
|
# پاکسازی HTML سمت سرور (تیپتپ و فیلدهای غنی)
|
|
nh3==0.2.20
|
|
# بهینهسازی تصویر در زمان آپلود (تغییر اندازه/فشردهسازی مجدد)
|
|
Pillow==11.1.0
|
|
# متریکهای Prometheus برای مانیتورینگ (در /metrics داخلی)
|
|
prometheus-fastapi-instrumentator==7.0.0
|
|
# مهاجرتهای نسخهدار اسکیما
|
|
alembic==1.14.0
|