Deployment Options
Docker Compose
Quick setup for development and small production deployments
Kubernetes
Cloud-native deployment with automatic scaling and management
Linux Binary
Direct installation on Linux servers for maximum control
Single Node vs Cluster Deployment
Single Node Deployment
Advantages:- Simple deployment and management
- Good performance for moderate loads
- Easy to upgrade to cluster later
- Lower resource requirements
- No automatic failover
- Manual backup required
- Single point of failure
- Development environments
- Small to medium applications (up to 400k daily active users)
- Applications with relaxed availability requirements
Cluster Deployment
Advantages:- High availability with automatic failover
- Automatic data replication and backup
- Load balancing across nodes
- Horizontal scaling capabilities
- More complex setup and management
- Requires multiple servers
- Higher resource overhead
- Production environments
- Large applications (1M+ daily active users)
- Mission-critical applications requiring high availability
Hardware Requirements
Single Node Deployment
For up to 400k daily active users:- Minimum
- Recommended
- CPU: 2 cores
- Memory: 8GB RAM
- Storage: SSD recommended
- Network: 1Gbps
Cluster Deployment
For 1M+ daily active users (3-node cluster):- Per Node
- Total Cluster
- CPU: 4+ cores
- Memory: 16GB+ RAM
- Storage: NVMe SSD
- Network: 10Gbps
Network Requirements
Ports
WuKongIM uses the following ports by default:| Port | Protocol | Purpose | Required |
|---|---|---|---|
| 5001 | HTTP | REST API | Yes |
| 5100 | TCP | Client connections | Yes |
| 5200 | WebSocket | Web client connections | Yes |
| 5210 | WSS | Secure WebSocket | Optional |
| 5300 | HTTP | Management interface | Optional |
| 11110 | TCP | Cluster communication | Cluster only |
Firewall Configuration
- Single Node
- Cluster
Geographic Distribution
Supported Configurations
Current Limitation: Cross-region data node deployment is not supported. However, proxy nodes can be deployed globally.
- Data Nodes: Must be in the same region/datacenter
- Proxy Nodes: Can be deployed globally for reduced latency
- Client Routing: Automatic routing to nearest proxy node
Multi-Region Architecture
Choosing Your Deployment Method
Decision Matrix
| Factor | Docker Compose | Kubernetes | Linux Binary |
|---|---|---|---|
| Ease of Setup | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Production Ready | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Scaling | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Monitoring | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Resource Usage | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
Recommendations
- Development
- Small Production
- Large Production
Docker Compose - Quick setup for local development and testing
Next Steps
Choose your deployment method and follow the detailed installation guide:Docker Compose Setup
Start with Docker for quick deployment
Kubernetes Setup
Deploy on Kubernetes cluster
Linux Installation
Install directly on Linux servers
Common Questions
Can I migrate from single node to cluster later?
Can I migrate from single node to cluster later?
Yes! WuKongIM supports online migration from single node to cluster deployment without downtime. The process involves adding new nodes and redistributing data automatically.
What's the difference between data nodes and proxy nodes?
What's the difference between data nodes and proxy nodes?
Data nodes store and process messages, while proxy nodes handle client connections and route requests to data nodes. This separation allows for better scaling and geographic distribution.
Do I need a load balancer?
Do I need a load balancer?
For single node deployments, no load balancer is needed. For cluster deployments, WuKongIM includes built-in load balancing, but you may want an external load balancer for additional features like SSL termination.

