Spaces:
Sleeping
Sleeping
Deployment — Two Hugging Face Spaces
This project uses two separate Hugging Face Spaces so the live app stays stable while you build changes for a new client.
| Environment | Space | Git remote | Branch | URL |
|---|---|---|---|---|
| Production (current clients) | coderuday21/satdetect |
hf |
production |
https://huggingface.co/spaces/coderuday21/satdetect |
| Development (new client work) | coderuday21/satdetect-dev |
hf-dev |
master |
https://huggingface.co/spaces/coderuday21/satdetect-dev |
One-time setup: create the dev Space
- Open https://huggingface.co/new-space
- Set:
- Owner:
coderuday21 - Space name:
satdetect-dev - SDK: Docker
- Visibility: Public (or Private if you prefer)
- Owner:
- Click Create Space.
Then add the dev remote (once):
cd change_detection_webapp
git remote add hf-dev https://huggingface.co/spaces/coderuday21/satdetect-dev
If hf-dev already exists, update it:
git remote set-url hf-dev https://huggingface.co/spaces/coderuday21/satdetect-dev
Push the current development code to the new Space:
git push hf-dev master:main
Or run the helper script:
.\scripts\push_hf_dev.ps1
Branch strategy
production ──► hf (satdetect) — live app (no login; direct to detection)
master ──► hf-dev (satdetect-dev) — new client experiments and upcoming changes
production— tracks the stable live release (currently same asmaster, no login).master— active development; push to the dev Space for testing before promoting to production.
Work on new client features on master. When ready for the live app, merge into production and push to hf.
Deploy commands
Production (live app — no login)
git checkout production
git merge master
git push hf production:main
Or push master directly to production:
git push hf master:main
Helper:
.\scripts\push_hf_production.ps1
Development (new client Space)
After every change you want on the dev Space:
git checkout master
git push hf-dev master:main
Helper:
.\scripts\push_hf_dev.ps1
GitHub (optional mirror)
GitHub tracks master only:
git push origin master
You can add a production branch on GitHub too:
git push origin production
Environment variables (both Spaces)
Set these in each Space’s Settings → Repository secrets / Variables if needed:
| Variable | Purpose |
|---|---|
SECRET_KEY |
Optional legacy JWT setting (login disabled) |
DATABASE_URL |
PostgreSQL instead of SQLite (optional) |
SMTP_USER / SMTP_PASS |
Email notifications via Gmail SMTP |
EMAIL_API_URL |
Custom email API (default in code) |
Dev Space can omit SECRET_KEY (login is disabled on both Spaces).
Quick reference
# Daily work (new client)
git checkout master
# ... edit code ...
git add .
git commit -m "Your message"
git push hf-dev master:main
# Update live app (only when ready)
git checkout production
git merge master # or cherry-pick specific commits
git push hf production:main
git checkout master