Encore
Encore is the reference scaffold for a Coral module: TanStack Start, Tailwind v4, Biome and release automation, wired together and ready to build on. It is named for a planned feature — moderated guest music requests against a Jellyfin music library — that does not exist yet.
What it is useful for
Section titled “What it is useful for”As a starting point. Encore tracks the current template, so it is a live example of how a Coral module is laid out — routing, the Node server entrypoint, the Docker build, and the release workflow.
To start your own module from the same base, use the CLI rather than forking Encore:
pnpm create coral@latestSee the create-coral CLI guide and Project templates.
Requirements
Section titled “Requirements”- Node.js 24 LTS. Node 22.5 is the hard floor — the template uses the built-in
node:sqlitemodule, which does not exist on Node 18 or 20. - pnpm
Running it
Section titled “Running it”docker run -p 3000:3000 getcoral/encore:latestEncore serves on port 3000 and exposes /healthz.
Environment
Section titled “Environment”The entire environment surface, verified against encore/.env.example and
encore/src:
| Variable | Required | Default | Purpose |
|---|---|---|---|
HOST | No | 0.0.0.0 | Interface the server binds to |
PORT | No | 3000 | Port the server listens on |
There are no JELLYFIN_* variables. Nothing in Encore reads them, and setting
them has no effect.
From source
Section titled “From source”git clone https://github.com/Get-Coral/encore.gitcd encorepnpm installpnpm dev| Script | Purpose |
|---|---|
pnpm dev | Dev server on :3000 |
pnpm build | Production build |
pnpm start | Run the production server (node server.mjs) |
pnpm typecheck | TypeScript check |
pnpm check | Biome lint + format check |
pnpm test | Vitest |
Related
Section titled “Related”- Project templates — what the scaffold contains
- create-coral CLI — the supported way to start a module
- Module contracts — how modules talk to each other
- Get-Coral/encore on GitHub