Environments
PSI is deployed across multiple environments for different partners and purposes.
Deployment Map
| Alias | Firebase Project | Domain | Partner | Purpose |
|---|---|---|---|---|
default | demo-psi-local | localhost | Development | Local emulator |
staging | np-psi-staging | np-psi-staging.firebaseapp.com | New Public | Staging / QA |
production | np-psi-dev | psi.newpublic.org | New Public | Production |
research | np-psi-research | np-psi-research.firebaseapp.com | New Public | Research |
zdf | psi-product-zdfd-deploy-86085 | (internal) | ZDF | ZDF deployment |
rc-dev | apppsi-40af9 | dev-conversations.radio-canada.ca | Radio-Canada | RC dev |
rc-prod | rc-prod-psi-product | conversations.radio-canada.ca | Radio-Canada | RC production |
srg-staging | dialogue-83198 | dialogue-83198.web.app | SRG SSR | SRG staging |
Environment Architecture
graph TD
subgraph "Development"
LOCAL[Local Emulator<br/>demo-psi-local]
end
subgraph "Shared Environments"
STAGING[Staging<br/>np-psi-staging]
RESEARCH[Research<br/>np-psi-research]
end
subgraph "Partner Production"
NP_PROD[New Public Production<br/>psi.newpublic.org]
ZDF_PROD[ZDF Production]
RC_PROD[Radio-Canada Production<br/>conversations.radio-canada.ca]
SRG_PROD[SRG Staging<br/>dialogue-83198.web.app]
end
LOCAL -->|"PR preview"| STAGING
STAGING -->|"Release"| NP_PROD
STAGING -->|"Partner deploy"| ZDF_PROD
STAGING -->|"Partner deploy"| RC_PROD
STAGING -->|"Partner deploy"| SRG_PROD Local Development
Local development uses Firebase emulators:
| Service | Port |
|---|---|
| Firebase Auth Emulator | 9099 |
| Realtime Database Emulator | 9001 |
| Cloud Functions Emulator | 5001 |
| Hosting Emulator | 5010 |
| Emulator UI | 4000 |
Start everything with:
Switching Environments
# List available projects
firebase projects:list
# Switch to an environment
firebase use staging
firebase use production
firebase use zdf
# Deploy to a specific environment
firebase deploy --project np-psi-staging
# Always clear after deploying to avoid accidental changes
firebase use --clear
PR Preview Deployments
Pull requests with client changes automatically get preview deployments via GitHub Actions:
- Preview URL:
https://np-psi-staging--pr-{number}-{hash}.web.app - Preview channels are cleaned up automatically after PR merge
- Only client changes are deployed; server changes require a full staging deploy
Further Reading
- CI/CD Pipeline -- how deployments are automated
- Firebase Deployment -- setting up a new environment
- Local Development (psi-product) -- local dev setup