Sign inSign up

cerede2000/tvguide

By cerede2000

•Updated 2 months ago

Self-hosted XMLTV web guide with live, evening, grid, and full-text search views.

Image
0

845

cerede2000/tvguide repository overview

⁠TV Guide

Lightweight, self-hosted XMLTV schedule browser with live, evening, grid, and full-text search views.

  • English and French UI with browser-language detection
  • XML, GZIP, ZIP, 7-Zip, XZ, and BZIP2 imports
  • Atomic imports and smart source synchronization
  • SQLite FTS5 search
  • Administration password support
  • Non-root, read-only compatible container
  • linux/amd64 and linux/arm64

Source, issues, and release notes: github.com/cerede2000/tvguide⁠

⁠Docker Compose

services:
  tvguide:
    image: cerede2000/tvguide:latest
    container_name: tvguide
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      TZ: Europe/Paris
      ADMIN_PASSWORD: change-this-password
      XMLTV_SYNC_WORKERS: 1
      MALLOC_ARENA_MAX: 2
    volumes:
      - ./data:/data
    security_opt:
      - no-new-privileges:true
    read_only: true
    tmpfs:
      - /tmp:size=16m,mode=1777
mkdir -p data/imports
chown -R 1000:1000 data
docker compose up -d

Open http://localhost:8080, then add an XMLTV source from Administration → XMLTV sources.

⁠Environment variables

VariableDefaultDescription
TZEurope/ParisDefault display and XMLTV fallback timezone.
ADMIN_PASSWORDemptyProtects administration when set.
LOG_LEVELINFOLogging level.
ALLOW_PRIVATE_XMLTV_SOURCESfalseAllows private/loopback XMLTV URLs.
XMLTV_MAX_DOWNLOAD_MB100Maximum download size.
XMLTV_MAX_UNCOMPRESSED_MB500Maximum decompressed size.
XMLTV_HTTP_TIMEOUT_SECONDS30Download timeout.
XMLTV_DOWNLOAD_RETRIES3Download retry count.
XMLTV_SYNC_WORKERS1Concurrent imports; keep 1 for lower RAM/CPU.
XMLTV_USER_AGENTtvguide/1.0XMLTV download User-Agent.
MALLOC_ARENA_MAX2Limits retained native allocator arenas.
FORWARDED_ALLOW_IPS*Trusted reverse-proxy IPs.

The container listens on port 8080, runs as UID/GID 1000, stores all persistent data under /data, and exposes GET /api/health.

⁠Tags

  • latest: latest stable release
  • 1.17.0: exact release
  • 1.17: latest patch in the release line

Pin an exact version for controlled deployments. Database migrations run automatically at startup; back up /data/app.db before upgrades.

Full documentation: English⁠ · Français⁠

Tag summary

Content type

Image

Digest

sha256:f9c2cdbd1…

Size

57.8 MB

Last updated

2 months ago

docker pull cerede2000/tvguide