Installation
Docket ships as a single Go binary backed by one PostgreSQL database. There are two ways to install it: Docker Compose (recommended for getting started) or building from source.
Docker Compose
Section titled “Docker Compose”This is the fastest path. You need Docker and Docker Compose.
git clone https://git.bcnelson.dev/bcnelson/docket.gitcd docketdocker compose up -dThe compose stack starts:
- PostgreSQL 15 with persistent storage (volume
pgdata). - Docket, which runs migrations on startup and exposes the HTTP server on
:8080.
Continue with First run to create the initial admin user.
Build from source
Section titled “Build from source”You need Go 1.26+ and Node.js 22+ (to build the embedded React frontend), plus a running PostgreSQL 15+ instance.
git clone https://git.bcnelson.dev/bcnelson/docket.gitcd docketjust buildjust build compiles the frontend, embeds it via go:embed, then builds the Go binary. The resulting ./docket binary is self-contained.
Point it at your database and start the server:
export DOCKET_DATABASE__URL="postgres://docket:secret@localhost:5432/docket?sslmode=disable"./docket migrate up./docket serveSee Configuration for the full set of settings.
Requirements
Section titled “Requirements”| Component | Minimum |
|---|---|
| PostgreSQL | 15+ (with pgvector extension; auto-installed by migrations) |
| Go (build only) | 1.26.1 |
| Node.js (build only) | 22 |
| Disk | Mostly used by attachments — sized to your retention policy |
Docket is stateless: any instance can serve any request, so horizontal scaling is just running more copies behind a load balancer pointed at the same database.