Kino-Swipe

Kino-Swipe

Docker app from Bergasha's Repository

Overview

Swipe and match movies for Plex and Jellyfin. Basic dating app rules: swipe left if it is a no and swipe right if it is a yes. Two right swipes and it's a match. All matches are stored in your match history for later viewing.

Kino-Swipe Banner

Docker Pulls GitHub Stars License: MIT

Always trying to decide on a movie to watch together? This may be the fun solution you've been looking for. Dating app style — swipe right to like, swipe left to pass. If you both swipe right on the same movie, IT'S A MATCH!!

Supports Plex & Jellyfin


Screenshots

Click to view screenshots


Performance Note (First-Time Run)

When you click Host Session or select a new genre for the absolute first time, Kino-Swipe caches your media library locally in a SQLite database to ensure instant loading speeds later.

  • First run / New genre: May take 5–15 seconds depending on the size of your Plex or Jellyfin library while it builds the initial local dataset.
  • Subsequent runs: Instantaneous. The app shuffles and serves cards out of the local cache immediately.
  • Automatic Updates: The cache automatically and silently updates in a background thread every 24 hours, meaning you will never experience that initial setup delay again after the first run.
  • Plex Homescreen Sync: Matches on Plex homescreen are only visable to the user who made the match, All other remote or admin users will not see those matches.

Features

  • Plex & Jellyfin Integration: Connects directly to your Plex or Jellyfin server to pull movies.
  • Coloured sessions: Plex Yellow lets you know you're in a Plex session and Jellyfin Blue for Jellyfin.
  • Real-Time Sync: Host a room, share a 4-digit code, and swipe with a partner instantly.
  • Visual Feedback: Faint Red/Green glow with thumbs-up or thumbs-down overlays that react as you drag posters left or right.
  • Select Genre: Both sessions stay in sync while browsing genres.
  • Add to Watchlist: Tap a match to open in Plex or save to watchlist/favourites for later.
  • Watch Trailer: Tap the poster for full synopsis, cast, and trailer via TMDB.
  • PWA Support: Add to your Home Screen for a native app feel.
  • Match Notifications: Instant alerts with haptic feedback when you both swipe right on the same movie.
  • Match History: All matches saved to history until you're ready to delete them.
  • Plex-Homescreen-Sync: Each match will automatically show on a per-users Plex Homescreen (Until deleted from Kino).
  • Plex Home Users Have kids with restricted accounts? You can now select their profile if they are a Home User to only see suitable movies.
  • Jellyfin Restricted Libraries Also for Jellyfin users with restricted libraries will only see their movies.
  • Solo Mode: Flying solo? Host a session and flick the solo toggle — every right swipe saves to your Match History.

Requirements

Plex

  • Plex Media Server
  • Plex Auth Token

Jellyfin

  • Jellyfin Media Server
  • Jellyfin API Key

Both

  • TMDB API Key (optional — required for trailers and cast)
  • HTTPS/Reverse Proxy (required to install as a PWA on your phone)

You only need one media server configured. Both can run side by side on the same instance — users pick which one to log into at the login screen.


TMDB API Setup

Only required if you want trailers and cast to work on the rear of the movie posters.

Click to expand TMDB setup instructions
  1. Create a free TMDB account at themoviedb.org/signup and verify your email.

  2. Access API settings — click your profile icon → Settings → API.

  3. Create an API Key — click Create, select Developer, accept the Terms of Use, and fill out the form:

    • Type of Use: Personal/Educational
    • Application Name: Kino-Swipe
    • Application URL: your server IP or localhost
    • Summary: "A Tinder-style movie picker for Plex/Jellyfin."
  4. Copy your API Key (v3 auth) — the long string of numbers and letters.


Deployment

Option 1: Docker Compose

services:
  kino-swipe:
    image: bergasha/kino-swipe:latest
    container_name: kino-swipe
    ports:
      - "5005:5005"
    environment:
      - PLEX_URL=https://YOUR_PLEX_IP:32400        # Optional
      - PLEX_TOKEN=YOUR_PLEX_TOKEN                  # Optional
      - JELLYFIN_URL=http://YOUR_JELLYFIN_IP:8096   # Optional
      - JELLYFIN_API_KEY=YOUR_JELLYFIN_API_KEY      # Optional
      - APP_LOCALE=en                               # Optional: use de for Plex library "Filme"
      - FLASK_SECRET=SomeRandomString
      - TMDB_API_KEY=your_tmdb_key_here
    volumes:
      - ./data:/app/data
      - ./static:/app/static
    restart: unless-stopped

Option 2: Docker Run

docker run -d \
  --name kino-swipe \
  -p 5005:5005 \
  -e PLEX_URL=https://YOUR_PLEX_IP:32400 \          # Optional
  -e PLEX_TOKEN=YOUR_PLEX_TOKEN \                   # Optional
  -e JELLYFIN_URL=http://YOUR_JELLYFIN_IP:8096 \    # Optional
  -e JELLYFIN_API_KEY=YOUR_JELLYFIN_API_KEY \       # Optional
  -e APP_LOCALE=en \                                # Optional: use de for Plex library "Filme"
  -e FLASK_SECRET=SomeRandomString \
  -e TMDB_API_KEY=your_tmdb_key_here \
  -v ./data:/app/data \
  -v ./static:/app/static \
  --restart unless-stopped \
  bergasha/kino-swipe:latest

At least Plex or Jellyfin must be configured. Both can be also set at the same time.

Plex library locale (optional): defaults to en (Movies). Set APP_LOCALE=de if your Plex movie library is named Filme.


This product uses the TMDB API but is not endorsed or certified by TMDB.

Media gallery

1 / 6

Install Kino-Swipe on Unraid in a few clicks.

Find Kino-Swipe in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Kino-Swipe Review the template variables and paths Click Install

Download Statistics

5,887
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
bergasha/kino-swipe:latest
Last Updated2026-06-26
First Seen2026-05-30

Runtime arguments

Web UI
http://[IP]:[PORT:5005]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUI PortPorttcp

Port used to access Kino Swipe

Target
5005
Default
5005
Value
5005
PLEX_URLVariable

URL of your Plex server (Optional)

PLEX_TOKENVariable

Your Plex token (Optional)

JELLYFIN_URLVariable

URL of your Jellyfin server (Optional)

JELLYFIN_API_KEYVariable

Your Jellyfin API Key (Optional)

TMDB_API_KEYVariable

TMDB API key for trailers and metadata to work

FLASK_SECRETVariable

Random secret string for session security

AppData Config PathPathrw

Persistent storage for Kino Swipe data

Target
/app/data
Default
/mnt/user/appdata/kino-swipe/data
Value
/mnt/user/appdata/kino-swipe/data
Static Content PathPathrw

Persistent storage for local static files

Target
/app/static
Default
/mnt/user/appdata/kino-swipe/static
Value
/mnt/user/appdata/kino-swipe/static