Libredesk is a monorepo with a Go backend and two Vue apps: the agent dashboard and the live chat widget. Both use shadcn for UI components.
Prerequisites
- Go
- Node.js and pnpm, if you are working on the frontend
- Redis
- PostgreSQL 13 or newer
First-time setup
1. Clone the repository.
git clone https://github.com/abhinavxd/libredesk.git
cd libredesk
2. Copy the sample config and fill it in.
cp config.sample.toml config.toml
3. Build the binary and set up the database. The install step prompts you for the System user password.
make
./libredesk --install
Running in development
Start the backend dev server on port 9000.
make run-backend
Start the agent dashboard on port 8000. Requests are proxied to the backend on 9000, see vite.config.js for the proxy config.
make run-frontend-main
Start the live chat widget on port 8001, also proxied to 9000. Only needed if you are working on the widget.
make run-frontend-widget
Production build
make
This builds the Go binary and both frontend apps, embeds the static assets, and produces a single self-contained libredesk binary. To build just one app, use make frontend-build-main or make frontend-build-widget.
Translations
Translations are managed on Crowdin. Pick a language, translate the untranslated strings, and they sync back into the app.