Skip to main content
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 1.25 or later
  • Node.js 20 or later and pnpm (if working on frontend)
  • Redis
  • PostgreSQL (≥13)

First-time setup

1

Clone the repository

2

Configure libredesk

Copy config.sample.toml as config.toml and add your configuration:
For local Postgres and Redis, set db.host to localhost and redis.address to localhost:6379.
3

Build and install

Build the libredesk binary, run the DB setup and set the System user password:
Log in as System with the password you set.

Running the dev environment

Run the backend and both frontend apps in development mode:
1

Start backend server

This starts the libredesk backend dev server on :9000
2

Start the main app

This starts the agent dashboard in dev mode using pnpm on :8000Requests are proxied to the backend running on :9000 (check vite.config.js for proxy config)
3

Start the widget app

This starts the live chat widget in dev mode on :8001, also proxied to the backend on :9000Only needed if you are working on the widget.

Production build

To build a production-ready binary:
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.

Running tests

Go integration tests need Postgres. Start a test database on 127.0.0.1:5433 with:
Remove it with make test-db-down.