fashionistar-celery-queues / .env.production.example
FASHIONISTAR CI/CD
🔄 Celery Queues Deploy: d915798567b1052828794606dda8e62b4500f337 [GitHub Actions]
607bf71
Raw
History Blame Contribute Delete
5.83 kB
# ===========================================================================
# FASHIONISTAR — Production Environment Variables (Oracle Cloud)
# ===========================================================================
# Copy this to .env.production and fill in all values.
# NEVER commit .env.production to git — it contains secrets.
#
# On Oracle VM: /home/ubuntu/fashionistar_backend/.env.production
# ===========================================================================
# ── Core Django ──────────────────────────────────────────────────────────────
SECRET_KEY=REPLACE_WITH_64_CHAR_RANDOM_STRING
DEBUG=False
DJANGO_SETTINGS_MODULE=backend.config.production
WORKING_ENVIRONMENT=production
# ── Hosts & CSRF ─────────────────────────────────────────────────────────────
# Add your Oracle Cloud public IP as fallback during DNS propagation
ALLOWED_HOSTS=api.fashionistar.net,fashionistar.net,www.fashionistar.net,YOUR_ORACLE_PUBLIC_IP
CSRF_TRUSTED_ORIGINS=https://fashionistar.net,https://www.fashionistar.net,https://api.fashionistar.net,https://app.fashionistar.net
# ── Production URLs ───────────────────────────────────────────────────────────
BACKEND_URL=https://api.fashionistar.net
FRONTEND_URL=https://www.fashionistar.net
# ── Database — PostgreSQL 17 (Docker container on Oracle VM) ─────────────────
# This connects to the postgres service in docker-compose.production.yml
DATABASE_URL=postgres://fashionistar:REPLACE_WITH_STRONG_PASSWORD@postgres:5432/fashionistar
POSTGRES_DB=fashionistar
POSTGRES_USER=fashionistar
POSTGRES_PASSWORD=REPLACE_WITH_STRONG_PASSWORD
# ── Redis — Docker container on Oracle VM ────────────────────────────────────
# Also exposed to Northflank Celery workers via public IP + auth
REDIS_URL=redis://:REPLACE_WITH_REDIS_PASSWORD@redis:6379/0
REDIS_PASSWORD=REPLACE_WITH_REDIS_PASSWORD
# ── Celery ────────────────────────────────────────────────────────────────────
# Local workers (on Oracle VM) use internal Docker network
CELERY_BROKER_URL=redis://:REPLACE_WITH_REDIS_PASSWORD@redis:6379/1
CELERY_RESULT_BACKEND=redis://:REPLACE_WITH_REDIS_PASSWORD@redis:6379/2
# Northflank Celery workers use external public URL:
# CELERY_BROKER_URL=redis://:REPLACE_WITH_REDIS_PASSWORD@YOUR_ORACLE_PUBLIC_IP:6379/1
# (Ensure Oracle VCN Security List opens TCP 6379 for Northflank IPs only)
# ── Cloudinary (Media Storage) ────────────────────────────────────────────────
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
CLOUDINARY_URL=cloudinary://your_api_key:your_api_secret@your_cloud_name
CLOUDINARY_NOTIFICATION_URL=https://api.fashionistar.net/api/v1/upload/webhook/cloudinary/
# ── Payment Gateways ──────────────────────────────────────────────────────────
PAYSTACK_SECRET_KEY=sk_live_your_paystack_live_secret_key
PAYSTACK_TEST_KEY=sk_test_your_paystack_test_key
# ── Twilio (SMS) ──────────────────────────────────────────────────────────────
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token
TWILIO_PHONE_NUMBER=+1234567890
# ── Email ─────────────────────────────────────────────────────────────────────
DEFAULT_FROM_EMAIL=noreply@fashionistar.net
EMAIL_HOST_USER=your-email@fashionistar.net
EMAIL_HOST_PASSWORD=your_email_app_password
# ── Mailgun ───────────────────────────────────────────────────────────────────
MAILGUN_API_KEY=your_mailgun_api_key
MAILGUN_DOMAIN=your_mailgun_domain.mailgun.org
# ── Google OAuth2 ─────────────────────────────────────────────────────────────
GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-google-client-secret
# ── Sentry Error Tracking ─────────────────────────────────────────────────────
SENTRY_DSN=https://your_sentry_dsn@sentry.io/project_id
# ── Git SHA (for Sentry release tracking) ─────────────────────────────────────
# Set automatically by GitHub Actions, or manually:
# GIT_SHA=$(git rev-parse --short HEAD)
GIT_SHA=unknown
# ── Image Tag (set by CI/CD) ──────────────────────────────────────────────────
IMAGE_TAG=latest
GITHUB_REPOSITORY=FASHIONISTAR-CLOTHINGS/fashionistar_backend