Inspired by this YouTube video: https://youtu.be/9RUhp99J87c?si=bkGzkix4QVdSKiqV
A full-stack Reflex web application deployed to Kubernetes.
Modified and maintained by KubeSkills to demonstrate secure, scalable, Python-native app delivery to Kubernetes.
reflex-app/
├── backend/ # Reflex backend app (FastAPI + WebSockets)
│ ├── podcast_discovery/
│ ├── rxconfig.py
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/ # Static NGINX site (compiled Reflex frontend)
│ ├── out/
│ └── Dockerfile
├── k8s-manifests/ # Kubernetes manifests
│ ├── backend/
│ ├── frontend/
│ ├── hpa/
│ ├── ingress/
│ ├── namespace/
│ └── redis/| Component | Description | Container Image |
|---|---|---|
frontend |
Static Reflex export served via NGINX | kubeskills/podcast-frontend:latest |
backend |
FastAPI + WebSocket Reflex backend | kubeskills/podcast-backend:latest |
redis |
Session storage backend | redis:6.2-alpine (default) |
cd backend
python3 -m venv venv
source venv/bin/activate
pip install reflex==0.8.2
reflex runreflex export --no-zip
cp -r .web/build/client ../frontend/outcd ../frontend
docker build -t local/reflex-frontend .
docker run -p 8080:80 local/reflex-frontendkubectl apply -f k8s-manifests/namespace
kubectl apply -f k8s-manifests/redis
kubectl apply -f k8s-manifests/backend
kubectl apply -f k8s-manifests/frontend
kubectl apply -f k8s-manifests/hpa
kubectl apply -f k8s-manifests/ingress✅ Traefik-compatible Ingress with cert-manager TLS
✅ Redis session persistence
✅ Horizontal Pod Autoscaler (backend)
✅ Pod anti-affinity rules
✅ Resource requests and limits (frontend, backend, Redis)
- Reflex — Python-native frontend framework
- FastAPI — async backend
- NGINX — static site server
- Redis — session state backend
- Kubernetes + Helm — production deployment
- cert-manager — TLS automation
- Traefik — ingress controller
Apache 2.0 — LICENSE
Brought to you by KubeSkills — helping developers level up in cloud-native technologies.