Libredesk is a monorepo with a Go backend and a Vue.js frontend. The frontend uses Shadcn for UI components.

Prerequisites

  • Go
  • Node.js and pnpm (if working on frontend)
  • Redis
  • PostgreSQL (≥13)

First Time Setup

1

Clone the repository

git clone https://github.com/abhinavxd/libredesk.git
cd libredesk
2

Configure Libredesk

Copy config.toml.sample as config.toml and add your configuration:
cp config.toml.sample config.toml
3

Build and install

Build the libredesk binary and run the DB setup:
make
./libredesk --install
This will set up the database and prompt you to set the System user password.

Running the Dev Environment

Run both backend and frontend in development mode:
1

Start backend server

make run-backend
This starts the libredesk backend dev server on :9000
2

Start frontend server

make run-frontend
This starts the Vue frontend in dev mode using pnpm on :8000Requests are proxied to the backend running on :9000 (check vite.config.js for proxy config)

Production Build

To build a production-ready binary:
make
This will:
  • Build the Go binary
  • Build the Javascript frontend
  • Embed the static assets
  • Produce a single self-contained binary: libredesk