This version is intended for development and testing only. It lacks proper security isolation and scaling mechanisms. For production use, see our Kubernetes-based solution.
- Cloud-Based IDE with syntax highlighting & error detection
- Real-Time Collaboration via WebSockets
- Integrated Terminal with PTY support
- File Management with S3 synchronization
- Authentication System (JWT-based)
- Multi-Language Support via base templates
-
Init Service (Express + MongoDB)
- Handles user auth (JWT)
- Manages project templates
- Local file system operations
-
Runner service (Node.js + Socket.IO)
- File watchers for real-time updates
- Basic terminal emulation (node-pty)
- In-memory project storage
- Monaco Editor integration
- Xterm.js terminal
- React-based UI
- Local state management
| Component | Technology |
|---|---|
| Editor | Monaco Editor |
| Terminal | Xterm.js + node-pty |
| Authentication | JWT + localStorage |
| Real-Time | Socket.IO |
| Storage | Local filesystem |
| Container | Docker (single container) |
- Node.js v18+
- Docker Desktop
- MongoDB Community Edition
-
Clone Repository
git clone https://github.com/adeebkhans/CloudCode-NoKube.git
-
Setup Environment
cp .env.example .env # Edit .env with local values -
Install Dependencies
npm install cd frontend && npm install
-
Start Services
# Backend (for both init and runner service) npm start # Runner Service cd backend/runner-service && npm start Note: for note pty package you may see some errors, please make sure to install "MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libraries" from visual studio builder # Frontend cd frontend && npm run dev
-
Initialize Docker Container
docker build -t cloud-code-local . docker run -p 3001:3001 cloud-code-local
- Users authenticate via JWT
- Projects created in
./code/{username}/{replid}directory - Terminal sessions run in host environment
- File changes trigger Socket.IO updates
- All data stored on cloud persistence
For secure, scalable deployment use our production-ready version: Cloud Code (Kubernetes Version) featuring:
- Container isolation
- Resource limits
- Secure ingress
- Audit logging
- Auto-scaling
Warning: Never expose this local version to public networks. Use only behind firewall for development purposes.