# 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 — Gama (گاما) SendQuick via service shortcode SMS_ENABLED=false SMS_GAMA_BASE_URL=https://sms.igama.ir/api/v1 SMS_GAMA_USERNAME= SMS_GAMA_PASSWORD= SMS_GAMA_SOURCE_SERVICE=5000110005 # Optional later: SMS_GAMA_SOURCE_ADVERTISE=500099000005 # Partner gateway: domain:apiKey pairs, comma-separated (www. is stripped) # Example: SMS_PARTNERS=baloutpastry.com:replace-with-long-random-secret SMS_PARTNERS= # 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) # Deploy: WEBSITE_DEPLOY_AGENT_URL=.../deploy # Provision: derived as same origin .../provision when Add Domain includes gitRepoUrl 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