Tech Stack
Core Technology
- Node.js (v24): The runtime for the Redwood backend services, managed with Yarn 4
- TypeScript: The language used for the Redwood backend services
- Socket.IO: The network layer used for connections with any of the Node.js services (websockets only)
- Prisma (v6): The ORM and schema migration tool for the Director and Realm databases
- PostgreSQL: Relational database used by Redwood in Kubernetes deployments
- SQLite: Used by the Dev Initiator so local development without Kubernetes needs zero database setup
- Redis: Used for data that needs to support horizontal scaling as well as providing a pub/sub broker between frontend and backend services
- BullMQ: Job queues on top of Redis, used by Ticketing and other horizontally scaled work
- Custom stub: Redis doesn't run natively on Windows, so Redwood provides a custom pure-JS single-process stub for the Redis API for testing and most development cases (the Dev Initiator default)
- Memurai: For advanced Windows-only dev environments where the stub doesn't work out, Memurai is a full replacement for Redis
- Docker: The containerization system for reproducible microservice environments
- Kubernetes aka K8s: Container orchestration and scheduling
- Pulumi and Helm: Infrastructure-as-Code for deploying Redwood and its dependencies to Kubernetes
- ingress-nginx: Routes external traffic to the right service by hostname
- Agones: An extension to Kubernetes that assists with deploying and scaling game server pods in a Kubernetes cluster based on demand
- Open Match: The optional large-scale matchmaking system used by Redwood
- SeaweedFS: S3-compatible object storage for blob storage in Kubernetes
- ejabberd: For Text Chat support
The versions of the Kubernetes dependencies are listed in Deploying Locally.
Supported Third Party Services
- Game server hosting: see Hosting
- Transactional Email: for email verification, game news, relevant game events, etc.
- Secrets: for storing configuration secrets
- Local file (development only)
- HashiCorp Vault
- AWS Secrets Manager
- Azure Key Vault
- Google Cloud Secret Manager
- DNS: Cloudflare (optional automatic DNS records)
- Authentication: Steam, Epic Online Services, Discord, Twitch, and your own JWTs (see Authentication)