Files
cmhub/.env.example
T

91 lines
2.7 KiB
Bash
Raw Normal View History

2026-07-02 10:17:10 +08:00
# Django
DJANGO_SECRET_KEY=change-me-generate-a-random-secret
DJANGO_DEBUG=true
DJANGO_ALLOWED_HOSTS=127.0.0.1,localhost,testserver
2026-07-03 17:53:49 +08:00
DJANGO_CSRF_TRUSTED_ORIGINS=
2026-07-02 10:17:10 +08:00
DJANGO_TIME_ZONE=Asia/Shanghai
2026-07-03 11:27:45 +08:00
DJANGO_EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend
DJANGO_DEFAULT_FROM_EMAIL=noreply@cmhub.local
2026-07-03 17:53:49 +08:00
DJANGO_SESSION_COOKIE_SECURE=false
DJANGO_CSRF_COOKIE_SECURE=false
DJANGO_SECURE_SSL_REDIRECT=false
DJANGO_SECURE_HSTS_SECONDS=0
DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS=false
DJANGO_SECURE_HSTS_PRELOAD=false
DJANGO_SECURE_PROXY_SSL_HEADER=false
2026-07-08 15:13:23 +08:00
ACCOUNT_SIGNUP_RATE_LIMIT=20/m/ip
2026-07-03 17:53:49 +08:00
# Static and shared cache
STATIC_URL=/static/
STATIC_ROOT=D:\chengma\cmhub\staticfiles
DJANGO_CACHE_BACKEND=django.core.cache.backends.locmem.LocMemCache
DJANGO_CACHE_LOCATION=cmhub-local-cache
2026-07-02 10:17:10 +08:00
# MySQL 8.4
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_DATABASE=cmhub
MYSQL_USER=cmhub
MYSQL_PASSWORD=change-me
MYSQL_CHARSET=utf8mb4
2026-07-02 17:29:26 +08:00
MYSQL_CONNECT_TIMEOUT=30
MYSQL_READ_TIMEOUT=120
MYSQL_WRITE_TIMEOUT=120
2026-07-02 10:17:10 +08:00
# AI key encryption
AI_KEY_ENCRYPTION_KEY=base64-fernet-key
2026-07-08 20:14:33 +08:00
AI_IMAGE_UPSTREAM_DEADLINE_SECONDS=180
2026-07-08 22:08:48 +08:00
PUBLIC_BASE_URL=
MEDIA_PUBLIC_BASE_URL=
IMAGE_TASK_RETENTION_HOURS=24
GENERATED_IMAGE_RETENTION_HOURS=72
IMAGE_TASK_REAPER_INTERVAL_SECONDS=60
IMAGE_TASK_LEASE_SECONDS=600
2026-07-09 14:46:09 +08:00
IMAGE_TASK_MAX_RETRIES=2
IMAGE_TASK_RETRY_BACKOFF_SECONDS=10,30
2026-07-02 10:17:10 +08:00
2026-07-03 10:34:37 +08:00
# API safety
API_GENERATE_THROTTLE_RATE=60/min
API_AUTH_FAILURE_THROTTLE_RATE=30/min
IMAGE_URL_MAX_BYTES=10485760
IMAGE_URL_MAX_REDIRECTS=3
IMAGE_URL_CONNECT_TIMEOUT_SECONDS=10
IMAGE_URL_READ_TIMEOUT_SECONDS=60
RECHARGE_MAX_AMOUNT_CNY=100000.00
# Content moderation
MODERATION_ENABLED=false
MODERATION_PROVIDER=keyword
MODERATION_FAIL_CLOSED=true
MODERATION_BLOCK_ON_REVIEW=false
MODERATION_CACHE_VERSION_KEY=moderation:sensitive_words:version
2026-07-03 09:07:21 +08:00
# Payment callback verification
PAYMENT_CALLBACK_MODE=mock
PAYMENT_MOCK_CALLBACK_SECRET=change-me-mock-callback-secret
2026-07-03 09:34:07 +08:00
PAYMENT_QR_EXPIRES_MINUTES=10
2026-07-03 09:07:21 +08:00
2026-07-02 10:17:10 +08:00
# WeChat Pay V3 native
WECHAT_PAY_APPID=wx-your-appid
WECHAT_PAY_MCHID=your-mchid
WECHAT_PAY_API_V3_KEY=change-me
WECHAT_PAY_CERT_SERIAL_NO=your-cert-serial-no
WECHAT_PAY_PRIVATE_KEY_PATH=/secure/wechat/apiclient_key.pem
WECHAT_PAY_NOTIFY_URL=https://cmhub.example.com/api/v1/recharge/callback/wechat
# Alipay face-to-face payment
ALIPAY_APPID=your-alipay-appid
ALIPAY_APP_PRIVATE_KEY_PATH=/secure/alipay/app_private_key.pem
ALIPAY_PUBLIC_KEY_PATH=/secure/alipay/alipay_public_key.pem
ALIPAY_NOTIFY_URL=https://cmhub.example.com/api/v1/recharge/callback/alipay
ALIPAY_DEBUG=false
# Media storage
STORAGE_BACKEND=local
MEDIA_ROOT=D:\chengma\cmhub\media
MEDIA_URL=/media/
S3_ENDPOINT_URL=https://s3.example.com
S3_BUCKET_NAME=cmhub-media
S3_ACCESS_KEY_ID=change-me
S3_SECRET_ACCESS_KEY=change-me