FASHIONISTAR CI/CD
🔄 Celery Queues Deploy: d915798567b1052828794606dda8e62b4500f337 [GitHub Actions]
607bf71 | # =========================================================================== | |
| # 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 | |