Skip to content

kubeskills/reflex-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎙️ Podcast Discovery App

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.


📦 Project Structure

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/

🚀 App Overview

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)

⚙️ Local Development

1. Setup Python environment (backend)

cd backend
python3 -m venv venv
source venv/bin/activate
pip install reflex==0.8.2
reflex run

2. Export frontend

reflex export --no-zip
cp -r .web/build/client ../frontend/out

3. Run frontend locally

cd ../frontend
docker build -t local/reflex-frontend .
docker run -p 8080:80 local/reflex-frontend

☸️ Kubernetes Deployment

2. Deploy with Manifests

kubectl 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

🔐 Production Features

✅ 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)


🧱 Built With


📝 License

Apache 2.0 — LICENSE


🔗 Container Images


🙋‍♂️ Maintainers

Brought to you by KubeSkills — helping developers level up in cloud-native technologies.

About

Reflex App for Kubernetes

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors