Libredesk is a single binary application that requires postgres and redis to run. You can install it using the binary or docker.
Installation Methods
Docker (Recommended)
Binary
From Source
Docker Installation
The latest image is available on DockerHub at libredesk/libredesk:latestQuick Start with Docker Compose
Download configuration files
Configure Libredesk
Edit config.toml with your database credentials and preferences. Visit http://localhost:9000 and login with:
- Email:
System
- Password: The password you just set
Binary Installation
Download the latest release
Download the latest release for your platform and extract the libredesk binary. Configure Libredesk
Edit config.toml with your database credentials and preferences. Create the uploads directory
With the default fs upload provider, files are stored in the directory set by upload.fs.upload_path (uploads, relative to the working directory). Libredesk does not create this directory - file uploads fail if it is missing or not writable.If Libredesk runs as a different user than the one that created the directory, give that user ownership with chown. Install database tables
This will create the necessary tables in PostgreSQL.To set the System user password during installation, use the environment variable: Set the System user password
Visit http://localhost:9000 and login with:
- Email:
System
- Password: The password you just set
Compile from Source
Build the latest unreleased version from the main branch.Prerequisites:
- PostgreSQL ≥13
- Redis
- Go (latest version)
- Node.js (≥18)
- pnpm
Build the application
This will generate the libredesk binary in the current directory. Configure Libredesk
Edit config.toml with your database credentials and preferences. Create the uploads directory
With the default fs upload provider, files are stored in the directory set by upload.fs.upload_path (uploads, relative to the working directory). Libredesk does not create this directory - file uploads fail if it is missing or not writable.If Libredesk runs as a different user than the one that created the directory, give that user ownership with chown. Install database tables
This will create the necessary tables in PostgreSQL.To set the System user password during installation, use the environment variable: Set the System user password
Visit http://localhost:9000 and login with:
- Email:
System
- Password: The password you just set
Configuration via Environment Variables
Instead of using a config.toml file, you can configure Libredesk entirely through environment variables.
- All environment variables use the
LIBREDESK_ prefix
- Use double underscore (
__) for nested configuration keys
- To use environment variables exclusively (without a config file), pass
--config=""
Example:
Nginx Configuration (Recommended)
We recommend running Libredesk behind Nginx as a reverse proxy.
Install nginx if you don’t have it:
The proxy must set X-Client-IP to $remote_addr - Libredesk uses this header to identify the client for rate limiting and audit logs. Without it, the proxy’s IP is treated as the client.
Save the following as /etc/nginx/sites-available/libredesk:
Then enable it and reload nginx: