Xique
Xique is a self-hosted "what should I watch next?" application. It reads your watch history from your own Jellyfin server (read-only), keeps a permanent local ledger of everything you have watched, and recommends movies and TV you have not seen — without depending on any hosted tracking platform.
How it works
One container image, two cooperating processes, one sqlite database on a volume:
- xique-web — a FastAPI server rendering the zero-JavaScript UI: recommendations, item details, rating, hiding, marking watched, and the settings pages that connect Jellyfin and accept Trakt exports.
- xique-worker — an asyncio loop that owns all slow work: Jellyfin delta sync, Trakt import jobs, recommendation pre-computation, and a WAL checkpoint of the database every cycle.
- xique.db — the only state that matters. The worker runs schema migrations; the web process verifies the schema version and refuses to serve if it is behind.
The two processes run as rootless podman containers in a single pod, served to your tailnet by a Tailscale sidecar with automatic HTTPS.
Where to go next
- Installation — bring the pod up on your machine.
- Configuration — every
XIQUE_*environment variable. - Upgrades — moving to a new release safely.
- Backup and restore — protecting (and restoring) the ledger.
- CLI — the operator command line.
The source of truth for behaviour is the repository; these pages document the operator-facing surface of the latest release.