mirror of
https://git.meshkee.com/Meshkee/backend.git
synced 2026-08-11 22:30:59 +04:30
English keys on store/website specials stay unique per business; domain-admin can trigger dashboard SSL sync. Co-authored-by: Cursor <cursoragent@cursor.com>
84 lines
2.5 KiB
Bash
84 lines
2.5 KiB
Bash
# PostgreSQL (DataGrip + API)
|
|
POSTGRES_HOST=localhost
|
|
POSTGRES_PORT=5432
|
|
POSTGRES_USER=meshkee
|
|
POSTGRES_PASSWORD=meshkee_secret
|
|
POSTGRES_DB=meshkee_cms
|
|
|
|
DATABASE_URL=postgresql://meshkee:meshkee_secret@localhost:5432/meshkee_cms
|
|
|
|
# Redis
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_URL=redis://localhost:6379
|
|
|
|
# API
|
|
PORT=3000
|
|
|
|
# JWT
|
|
JWT_ACCESS_SECRET=change-me-access-secret-min-32-chars-long
|
|
JWT_REFRESH_SECRET=change-me-refresh-secret-min-32-chars-long
|
|
JWT_ACCESS_EXPIRES_IN=15m
|
|
JWT_REFRESH_EXPIRES_IN=7d
|
|
|
|
# SMS (set to true when SMS provider API is ready)
|
|
SMS_ENABLED=false
|
|
|
|
# Object storage (Parspack / S3-compatible)
|
|
# Bucket id is the Parspack account id. Object keys live under meshkee/...
|
|
# meshkee/businesses/{businessId}/media/{file}
|
|
# meshkee/businesses/{businessId}/brand/{file}
|
|
STORAGE_DISK=s3
|
|
S3_ENDPOINT=https://c804387.parspack.net
|
|
S3_BUCKET=c804387
|
|
S3_PUBLIC_URL=https://c804387.parspack.net/c804387
|
|
S3_REGION=us-east-1
|
|
S3_FORCE_PATH_STYLE=true
|
|
S3_ACCESS_KEY_ID=
|
|
S3_SECRET_ACCESS_KEY=
|
|
|
|
# Legacy WillaEngine MySQL (SSH tunnel to old host, e.g. ssh -L 3307:127.0.0.1:3307 root@89.42.138.52)
|
|
OLD_MYSQL_HOST=127.0.0.1
|
|
OLD_MYSQL_PORT=3307
|
|
OLD_MYSQL_USER=
|
|
OLD_MYSQL_PASSWORD=
|
|
OLD_MYSQL_DATABASE=willaengine
|
|
|
|
# Legacy Parmin S3 (source for portfolio/media byte-copy; images >300KB are skipped)
|
|
OLD_S3_ENDPOINT=https://sas.amin.parminstorage.ir
|
|
OLD_S3_BUCKET=meshkee-storage
|
|
OLD_S3_PUBLIC_URL=https://meshkee-storage.sas.amin.parminstorage.ir
|
|
OLD_S3_REGION=us-east-1
|
|
OLD_S3_FORCE_PATH_STYLE=true
|
|
OLD_S3_ACCESS_KEY_ID=
|
|
OLD_S3_SECRET_ACCESS_KEY=
|
|
|
|
# AI product generation (use Groq free tier or OpenAI)
|
|
AI_PROVIDER=groq
|
|
GROQ_API_KEY=
|
|
GROQ_MODEL=llama-3.3-70b-versatile
|
|
OPENAI_API_KEY=
|
|
OPENAI_MODEL=gpt-4o-mini
|
|
|
|
MEDIA_MAX_FILE_SIZE_MB=10
|
|
|
|
# SSL sync (header X-SSL-Sync-Token)
|
|
# Dashboards VPS: GET /api/v1/internal/ssl/hosts → manage + business./customer.{apex}
|
|
# API VPS: GET /api/v1/internal/ssl/api-hosts → api.meshkee.com + api.{apex}
|
|
SSL_SYNC_TOKEN=
|
|
DASHBOARD_ADMIN_HOST=manage.meshkee.com
|
|
CENTRAL_API_HOST=api.meshkee.com
|
|
|
|
# Website storefront deploy agent (POST from Super Admin → websites VM)
|
|
WEBSITE_DEPLOY_AGENT_URL=http://89.44.241.119:9050/deploy
|
|
WEBSITE_DEPLOY_TOKEN=
|
|
|
|
# Dashboards SSL sync agent (POST from Super Admin → dashboards VPS)
|
|
SSL_SYNC_AGENT_URL=http://45.149.76.52:9051/ssl-sync
|
|
SSL_SYNC_AGENT_TOKEN=
|
|
|
|
# Public domain for platform invoice links (https://{domain}/invoices/{id})
|
|
INVOICE_PUBLIC_DOMAIN=meshkee.com
|
|
# Optional full origin for local (overrides domain), e.g. https://meshkee.app:5174
|
|
# INVOICE_PUBLIC_BASE_URL=https://meshkee.app:5174
|