# Quick Start This guide helps you get Bytedesk up and running in 5 minutes. ## What is Bytedesk? Bytedesk is an AI-powered omnichannel customer service platform with team cooperation capabilities. Key features include: - **Team IM & Organization** - Enterprise instant messaging with organizational structure - **Customer Service** - Multi-channel support with intelligent routing - **Knowledge Base** - RAG-enabled documentation and FAQ system - **Ticket System** - Issue tracking with SLA management - **AI Agent** - LLM integration with function calling - **Call Center** - Voice call support via FreeSWITCH - **Video Customer Service** - WebRTC-based video calls ## Technology Stack Overview ### Backend - **Java 21** with Spring Boot 3.5.x - **Maven** multi-module monorepo - **Databases**: MySQL, PostgreSQL, Oracle, KingbaseES - **Message Queues**: Artemis, RabbitMQ ### Frontend - **Node.js 20+** with pnpm 10 - **Turborepo** monorepo - **React** with Ant Design - **TypeScript** for type safety ## Quickest Path to Run ### 1. Clone the Project ```bash git clone https://github.com/Bytedesk/bytedesk.git cd bytedesk ``` ### 2. Start Middleware (Recommended) For development, we recommend running only the middleware via Docker and running the application from source: ```bash cd deploy/docker cp .env.example .env ./start.sh mysql artemis standard middleware ``` This starts: - **MySQL** - Database - **Artemis** - Message queue - **Redis** - Caching and session storage - **Elasticsearch** - Search and log storage - **MinIO** - Object storage - **Ollama** - Local AI (optional) ### 3. Run Backend or Frontend #### Option A: Run Backend from Source ```bash # Import the project into your IDE # Run StarterApplication.java from the starter module # Or use Maven: cd starter mvn spring-boot:run ``` #### Option B: Run Frontend from Source ```bash cd frontend nvm use pnpm install pnpm dev ``` ### 4. Access the Application - **URL**: http://127.0.0.1:9003/ - **Account**: admin@email.com - **Password**: admin ## First-Time Recommendations - **Just Testing?** Use `./start.sh mysql artemis standard all` to run everything in Docker - **Development?** Use `middleware` mode as shown above - **Production?** Review the [[Deployment Guide]] first ## Role-Specific Entry Points - **Developers** → [[Development Guide]] - **DevOps/Deployments** → [[Deployment Guide]] - **Architects** → [[Architecture Overview]] - **Product/Implementation** → [[Module Map]] ## Next Steps 1. Learn about the [[Project Structure]] 2. Understand how to [Deploy](./Deployment-Guide.md) for your environment 3. Set up your [Development](./Development-Guide.md) environment 4. Explore the [[Module Map]] to understand capabilities