A Coral ecosystem module — built on TanStack Start, Tailwind v4, and the Jellyfin API.
pnpm installcp .env.example .env
# Fill in your Jellyfin URL, API key, and user IDpnpm devApp runs at http://localhost:3000.
| Tool | Purpose |
|---|---|
| TanStack Start | Full-stack React framework |
| TanStack Router | Type-safe file-based routing |
| TanStack Query | Server state management |
| Tailwind v4 | Styling |
| Biome | Linting & formatting |
| @get-coral/jellyfin | Jellyfin API client |
| Vitest | Testing |
pnpm dev # Start dev server on :3000
pnpm build # Production build
pnpm start # Run production server
pnpm typecheck # TypeScript check
pnpm check # Biome lint + format check
pnpm lint # Biome lint with auto-fix
pnpm test # Run tests# Pull the published image
docker pull getcoral/encore:latest
# Or build it yourself
docker build -t encore .
# Run
docker run -p 3000:3000 \
-e JELLYFIN_URL=http://your-nas:8096 \
-e JELLYFIN_API_KEY=your-key \
-e JELLYFIN_USER_ID=your-user-id \
getcoral/encore:latestPublished automatically to getcoral/encore on Docker Hub on every release via GitHub Actions.
| Workflow | Trigger | What it does |
|---|---|---|
ci.yml |
Every PR + push to main | Typecheck, lint, test, build, Docker build check |
docker-publish.yml |
Push to main + version tags | Publishes to GHCR |
release-please.yml |
Push to main | Opens release PR, publishes Docker on merge |
Releases are fully automated via Release Please. Use conventional commits:
| Commit prefix | Version bump |
|---|---|
feat: |
Minor |
fix: |
Patch |
feat!: / fix!: |
Major |
chore:, docs: |
No bump |
This module is part of the Coral ecosystem. See the contributing guide before opening PRs.