No description
  • TypeScript 47.7%
  • JavaScript 42%
  • Just 5.1%
  • Dockerfile 2.1%
  • CSS 1.4%
  • Other 1.7%
Find a file
PatillaCode 4471c496e6
Some checks failed
Build and publish Docker image / build-and-push (push) Failing after 2s
CI: run on host runner with docker driver for buildx
2026-04-15 20:56:34 +02:00
.forgejo/workflows CI: run on host runner with docker driver for buildx 2026-04-15 20:56:34 +02:00
nginx Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
public Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
src Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
.env.example Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
.gitignore Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
docker-compose.yml Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
docker-entrypoint.sh Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
Dockerfile Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
index.html Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
justfile Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
package-lock.json Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
package.json Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
README.md Add README 2026-04-15 20:30:44 +02:00
tsconfig.json Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00
vite.config.ts Initial commit — Vite + React SPA consuming Tunarr API 2026-04-15 20:29:21 +02:00

totoro-tv

A dark, cinematic web interface for Tunarr channels. Browse your custom TV lineup, check what's on, and watch live streams — all from your browser.

Features

  • Channel grid — all your Tunarr channels at a glance, with live "now playing" info and progress bars
  • TV Guide — EPG grid view with current and upcoming programs across all channels
  • Live player — HLS stream playback via Vidstack
  • Auto-refresh — now-playing data updates every 30s, guide every 60s

Stack

Getting Started

Prerequisites

Development

just install   # install deps + create .env from example
# edit .env — set TUNARR_URL to your Tunarr instance
just dev       # start Vite dev server on http://localhost:5173

The dev server proxies /tunarr/ to TUNARR_URL, matching the production Nginx behaviour.

Configuration

Variable Description Example
TUNARR_URL Base URL of your Tunarr instance http://tunarr:8000

Deployment

# Using the published image
cp .env.example .env
# edit .env
just up

The container runs Nginx on port 8080. Point your reverse proxy there.

Build locally

just build   # builds Docker image tagged totoro-tv
just run     # runs it on http://localhost:8080

CI/CD

Pushing to main triggers a Forgejo Actions workflow that builds and pushes the Docker image to forgejo.patilla.es/patillacode/totoro-tv:latest. Version tags (v1.2.3) additionally push a versioned tag.

Requires a REGISTRY_TOKEN secret in the repository settings.

just release 1.0.0   # tags v1.0.0 and pushes — triggers versioned build

Available recipes

just            # list all recipes
just dev        # dev server
just build      # local Docker build
just run        # build + run container
just up         # pull published image + start
just down       # stop
just restart    # pull + restart
just logs       # tail logs
just release X  # tag + push vX
just clean      # remove dist/ and node_modules/