S5 Azure Infrastructure¶
S5 Slidefactory is deployed on Azure Container Apps with supporting Azure services.
Architecture Overview¶
┌─────────────────────────────────────────────────────────────┐
│ Azure Container Apps │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Web Service │ │ Worker Service │ │
│ │ (FastAPI) │────────▶│ (Celery) │ │
│ │ Port 8000 │ │ │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Azure PostgreSQL│ │ Azure Redis │
│ with pgvector │ │ (Celery broker) │
└─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Azure Blob │
│ Storage │
└─────────────────┘
Azure Resources¶
Preview Environment¶
- Resource Group:
rg-slidefactory-preview - Container Apps:
slidefactory-web-preview(FastAPI application)slidefactory-worker-preview(Celery worker)- Database: Azure Database for PostgreSQL with pgvector extension
- Redis: Azure Cache for Redis (Celery broker)
- Storage: Azure Blob Storage (presentations, templates, documents)
- Container Registry: Azure Container Registry (Docker images)
Production Environment¶
- Resource Group:
rg-slidefactory-prod - Container Apps:
slidefactory-web-prod(FastAPI application)slidefactory-worker-prod(Celery worker)- Database: Azure Database for PostgreSQL with pgvector extension
- Redis: Azure Cache for Redis (Celery broker)
- Storage: Azure Blob Storage (presentations, templates, documents)
- Container Registry: Azure Container Registry (Docker images)
Deployment Model¶
S5 uses a preview → production deployment workflow:
- Development: Developers commit to
previewbranch - Preview Deployment: GitHub Actions automatically deploys to Azure preview environment
- Testing: Team tests changes on preview environment
- Production: Repository owner merges
preview→main - Production Deployment: GitHub Actions automatically deploys to Azure production environment
Core Package Dependency¶
S5 is a thin Azure client that depends on the slidefactory-core package for all application logic.
The slidefactory-core package provides: - FastAPI application (slidefactory.app.main:app) - Celery worker (slidefactory.app.celery_app) - CLI tool (slidefactory command) - All business logic and functionality
S5 repository contains only: - S5 branding and configuration - Azure deployment scripts and workflows - Azure-specific environment configuration
Documentation Sections¶
- Deployment Process - How deployments work
- Local Development - Developing locally with Azure preview
- Infrastructure Details - Azure resources in detail
- Monitoring & Logging - Production monitoring
- Troubleshooting - Common Azure issues
S5-Specific Azure Resources¶
Beyond core Slidefactory infrastructure, S5 includes optional services:
- Gotenberg PDF Service - PDF rendering for presentations
- LibreChat AI Interface - Optional AI chatbot (if configured)
Quick Links¶
- Preview URL: https://slidefactory-preview.sportfive.com (internal)
- Production URL: https://slidefactory.sportfive.com
- Core Repository: slidefactory-core