HuggingPost / .env.example
somratpro's picture
refactor: replace UptimeRobot with Cloudflare Workers for service keep-alive mechanism
5d2b465
# ============================================================================
# HuggingPost β€” Postiz on Hugging Face Spaces
# Configuration reference (.env.example)
#
# These vars map to HF Space "Variables and secrets". Paste them at:
# https://huggingface.co/spaces/<user>/<your-space>/settings β†’ Secrets
# ============================================================================
# ── Required for persistence ────────────────────────────────────────────────
# HF token with WRITE access (https://huggingface.co/settings/tokens).
# Without it, all data is lost on Space restart.
HF_TOKEN=hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Optional. Auto-detected from HF_TOKEN if unset.
# HF_USERNAME=your-username
# ── Backup tuning ───────────────────────────────────────────────────────────
# Backup interval in seconds. Default 3600 (60 min).
SYNC_INTERVAL=3600
# Skip backup if tarball exceeds this size in bytes. Default 100 MB.
SYNC_MAX_FILE_BYTES=104857600
# Dataset name. Created at <HF_USERNAME>/<BACKUP_DATASET_NAME>, private.
BACKUP_DATASET_NAME=huggingpost-backup
# ── Postiz core (auto-derived in start.sh β€” override only if needed) ────────
# DATABASE_URL=postgresql://postiz:<auto-generated>@localhost:5432/postiz
# REDIS_URL=redis://localhost:6379
# JWT_SECRET=<auto-generated and persisted to backup>
# These are derived from SPACE_HOST automatically. Override only for local dev.
# FRONTEND_URL=http://localhost:7860
# NEXT_PUBLIC_BACKEND_URL=http://localhost:7860/api
# BACKEND_INTERNAL_URL=http://localhost:3000
# ── Media storage ───────────────────────────────────────────────────────────
# "local" = files saved in /postiz/uploads (included in HF Dataset backup).
# "cloudflare" = R2 β€” set the CLOUDFLARE_* vars below.
STORAGE_PROVIDER=local
# UPLOAD_DIRECTORY=/postiz/uploads
# NEXT_PUBLIC_UPLOAD_STATIC_DIRECTORY=/uploads
# ── Cloudflare R2 (only if STORAGE_PROVIDER=cloudflare) ─────────────────────
# Get from your Cloudflare dashboard β†’ R2 β†’ API Tokens.
# CLOUDFLARE_ACCOUNT_ID=
# CLOUDFLARE_ACCESS_KEY=
# CLOUDFLARE_SECRET_ACCESS_KEY=
# CLOUDFLARE_BUCKETNAME=
# CLOUDFLARE_BUCKET_URL=https://<bucket>.r2.cloudflarestorage.com/
# CLOUDFLARE_REGION=auto
# ── Cloudflare Keep-Alive & Proxy ───────────────────────────────────────────
# Create an API token at https://dash.cloudflare.com/profile/api-tokens
# with "Workers Scripts: Edit" permission.
# Enables both transparent outbound proxy and Keep-Alive cron monitor.
# CLOUDFLARE_WORKERS_TOKEN=
# Extra domains to proxy, merged with built-in defaults (Telegram, Discord, WhatsApp,
# Facebook, Google). Comma-separated. Set to "*" to proxy ALL external traffic.
# CLOUDFLARE_PROXY_DOMAINS=api.sendgrid.com,smtp.resend.com,slack.com
# ── Email (Optional β€” controls signup activation flow) ──────────────────────
# Without RESEND_API_KEY, new signups are auto-activated.
# RESEND_API_KEY=
# EMAIL_FROM_ADDRESS=
# EMAIL_FROM_NAME=
# Set to true after creating your admin account to lock down the instance.
# DISABLE_REGISTRATION=false
# ── Misc ────────────────────────────────────────────────────────────────────
# OPENAI_API_KEY= # enables AI assistant inside Postiz
# API_LIMIT=30
# ── Developer settings (don't change unless you know why) ───────────────────
NX_ADD_PLUGINS=false
IS_GENERAL=true
NODE_ENV=production
# ── HF Spaces auto-injects these β€” DO NOT set manually ──────────────────────
# SPACE_HOST=<your-space>.hf.space
# SPACE_ID=<user>/<name>
# SPACE_AUTHOR_NAME=<user>