No description
  • Vue 58.3%
  • TypeScript 31.9%
  • Makefile 4.2%
  • Shell 2.8%
  • CSS 1.9%
  • Other 0.8%
Find a file
Moritz Hofmann 4030143733
Some checks failed
ci / ci (22, ubuntu-latest) (push) Has been cancelled
feat: surface hard WebRTC/ICE failures with retry, extract TvRtcDebugPanel
Add a connection watchdog and terminal-failure handling to useTv/share so
ICE failures (e.g. missing TURN server, or browsers that don't fire
connectionstatechange reliably) show a clear error overlay instead of a
silent black screen, then auto-retry with a fresh code. Also extracts the
inline RTC debug panel out of tv.vue into TvRtcDebugPanel.vue.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 21:30:11 +02:00
.github/workflows Initial commit 2026-01-30 14:47:31 +01:00
app feat: surface hard WebRTC/ICE failures with retry, extract TvRtcDebugPanel 2026-07-04 21:30:11 +02:00
i18n/locales feat: surface hard WebRTC/ICE failures with retry, extract TvRtcDebugPanel 2026-07-04 21:30:11 +02:00
public Initial commit 2026-01-30 14:47:31 +01:00
scripts feat: Update Dockerfile and release script for improved multi-arch image handling 2026-01-31 18:44:37 +01:00
server refactor: extract useWebRtcPeer, useRtcStats, useSegmentedCodeInput composables 2026-04-11 22:00:37 +02:00
.dockerignore feat: Add .dockerignore to exclude build artifacts and dependencies 2026-01-31 17:55:43 +01:00
.editorconfig Initial commit 2026-01-30 14:47:31 +01:00
.env.example Initial commit 2026-01-30 14:47:31 +01:00
.gitignore Add Dockerfile and docker-compose for Nuxt 4 app; implement i18n support with German and English translations 2026-01-30 15:23:05 +01:00
docker-compose.sample.yml Add Dockerfile and docker-compose for Nuxt 4 app; implement i18n support with German and English translations 2026-01-30 15:23:05 +01:00
Dockerfile feat: Update Dockerfile and release script for improved multi-arch image handling 2026-01-31 18:44:37 +01:00
eslint.config.mjs Initial commit 2026-01-30 14:47:31 +01:00
LICENSE Initial commit 2026-01-30 14:47:31 +01:00
Makefile feat: Update Dockerfile and release script for improved multi-arch image handling 2026-01-31 18:44:37 +01:00
nuxt.config.ts feat: Add TV configuration page with customizable options for display, UI elements, and audio settings 2026-01-31 17:52:21 +01:00
package-lock.json feat: surface hard WebRTC/ICE failures with retry, extract TvRtcDebugPanel 2026-07-04 21:30:11 +02:00
package.json feat: add QR code to TV pairing overlay with ?code= deep-link support 2026-04-11 22:11:47 +02:00
pnpm-lock.yaml feat: add QR code to TV pairing overlay with ?code= deep-link support 2026-04-11 22:11:47 +02:00
README.md Refactor code structure for improved readability and maintainability 2026-01-31 15:22:47 +01:00
renovate.json Initial commit 2026-01-30 14:47:31 +01:00
tsconfig.json Initial commit 2026-01-30 14:47:31 +01:00

Nuxt Starter Template

Nuxt UI

Use this template to get started with Nuxt UI quickly.

Nuxt Starter Template

The starter template for Vue is on https://github.com/nuxt-ui-templates/starter-vue.

Quick Start

npm create nuxt@latest -- -t github:nuxt-ui-templates/starter

Deploy your own

Deploy with Vercel

Setup

Make sure to install the dependencies:

pnpm install

Development Server

Start the development server on http://localhost:3000:

pnpm dev

Production

Build the application for production:

pnpm build

Locally preview production build:

pnpm preview

Check out the deployment documentation for more information.

Multi-Arch Docker Build

This repo ships a Makefile to build Docker images for multiple architectures (amd64 + arm64) using Docker Buildx.

Prerequisites:

  • Docker with Buildx enabled
  • On Linux hosts, install QEMU/binfmt (Docker Desktop already includes this):
make binfmt

Common commands:

# Create/select a Buildx builder and bootstrap it
make builder

# Single-arch local images (loaded into the local Docker daemon)
make build-amd64
make build-arm64   # requires binfmt on non-arm64 hosts

# Multi-arch build locally (OCI layout)
make build-multi REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=latest

# Push previously built multi-arch image to registry
make push-multi REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=latest

# Quick verification helpers (prints architecture inside the container)
make verify-amd64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=latest
make verify-arm64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=latest

Variables (override via VAR=value):

  • REGISTRY (e.g. git.fuxle.net), NAME (default: screenshare), TAG (default: latest)
  • TAG_AMD64 (default: $(TAG)-amd64), TAG_ARM64 (default: $(TAG)-arm64)
  • PLATFORMS (default: linux/amd64,linux/arm64), BUILDER (default: multi-arch)

Tip: After pushing a multi-arch image, set image: <registry>/<name>:<tag> in docker-compose.yml and run:

docker compose up -d

Pushing to a Registry

  1. Log in to git.fuxle.net:
make login REGISTRY=git.fuxle.net
# or
docker login git.fuxle.net
  1. Build a multi-arch image locally (OCI layout):
make build-multi REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0
  1. Push the multi-arch image to the registry:
make push-multi REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0
docker buildx imagetools inspect git.fuxle.net/fuxle/screenshare:v0.1.0
make inspect-remote REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0

Release Script (Tag + Build)

Use the provided script to create a git tag, push the current branch and tag, and build a multi-arch image locally (OCI layout). Push is a separate step.

# Tag v0.1.0, push to git remote, build multi-arch image locally
scripts/release.sh v0.1.0

# Options
scripts/release.sh v0.1.0 --remote origin --branch main --registry git.fuxle.net --name fuxle/screenshare

# If your working tree has changes and you still want to tag
scripts/release.sh v0.1.0 --allow-dirty

# If you don't want to push the branch (only tag + local image)
scripts/release.sh v0.1.0 --no-push-branch

Notes:

  • The script auto-prefixes the tag with v if omitted (e.g., 1.2.3 -> v1.2.3).
  • It pushes the current branch by default; use --no-push-branch to skip or --branch <name> to override.
  • It refuses to overwrite existing tags locally or on the remote.
  • It uses the Makefiles build-multi target under the hood to export an OCI layout to dist/....
  • To publish the image after running the script, run make push-multi REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=vX.Y.Z.

Optional: Push single-arch images built locally:

# Build locally
make build-amd64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0
make build-arm64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0    # requires binfmt on non-arm64 hosts

# Push via Make targets
make push-amd64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0
make push-arm64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG=v0.1.0

# If you prefer exact tag names like :arm64, override TAG_ARM64
make build-arm64 REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG_ARM64=arm64
make push-arm64  REGISTRY=git.fuxle.net NAME=fuxle/screenshare TAG_ARM64=arm64