libredesk is a monorepo with a Go backend and two Vue.js frontend apps: the main agent dashboard and the live chat widget. Both use Shadcn for UI components.
Prerequisites
- Go
- Node.js and pnpm (if working on frontend)
- Redis
- PostgreSQL (≥13)
First-time setup
Clone the repository
git clone https://github.com/abhinavxd/libredesk.git
cd libredesk
Configure libredesk
Copy config.sample.toml as config.toml and add your configuration:
cp config.sample.toml config.toml
Build and install
Build the libredesk binary and run the DB setup:
make
./libredesk --install
Sets up the database and prompts you for the System user password.
Running the dev environment
Full stack
Run the backend and both frontend apps in development mode:
Start backend server
make run-backend
This starts the libredesk backend dev server on :9000
Start the main app
make run-frontend-main
This starts the agent dashboard in dev mode using pnpm on :8000
Requests are proxied to the backend running on :9000 (check vite.config.js for proxy config)
Start the widget app
make run-frontend-widget
This starts the live chat widget in dev mode on :8001, also proxied to the backend on :9000
Only needed if you are working on the widget.
Backend only
make run-backend
Access the backend API at http://localhost:9000
Frontend only
make run-frontend-main
Access the main app at http://localhost:8000
make run-frontend-widget
Access the widget at http://localhost:8001
Production build
To build a production-ready binary:
make
This builds the Go binary and both frontend apps, embeds the static assets, and produces a single self-contained binary: libredesk.
To build just one app: make frontend-build-main or make frontend-build-widget.
