Skip to content

cawdry-dev/aperture

 
 

Repository files navigation


APERTÚRE
APERTÚRE

A Modern, Streamlined Jellyfin Client built with Next.js

sample-2.mp4
Dark Theme Dark Theme
Light Theme Dark Theme
Dark Theme Dark Theme
Dark Theme Dark Theme

✨ Overview

APERTÚRE is a clean, modern Jellyfin client built with Next.js — designed for speed, simplicity, and elegance.
It builds upon the solid foundation of Finetic while introducing extended functionality and removing unnecessary complexity.

Join Discord Community - Discord Invite

Special Thanks to @AyaanZaveri, this is based on his work on finetic, but I am building it upon my personal preferences.

🔹 Hero Features

  • Rich Media Experience – Native support for Video Backdrops, Theme Songs, and Trickplay thumbnails.
  • Smart ConnectivityQuick Connect login support and intelligent Direct Play/Transcoding selection.
  • Advanced Library Support – Integrated support for Collections (Box Sets) and Live TV (WIP).
  • Theming – Multiple theme variations including "Cinematic Theatre Black".
  • Redesigned Playback Engine – A seamless, rebuilt playback subsystem aligned with Jellyfin best practices for reliable and smooth streaming.
  • Hero Media Bar – A new, visually striking "Hero" section at the top of the interface to showcase your highlighted content.
  • Smart Episodic Features – Native support for Intro and Outro skipping to make binge-watching effortless (requires the Intro Skipper plugin on your server).
  • Mini Player – Keep watching your content while browsing the rest of your library with the new Picture-in-Picture mode.
  • Better Connectivity – Added Local Network Discovery and saved server preferences to make connecting (and staying connected) easier. Note: Removed this due to inaccuracy
  • Refined Startup – A proper Splash Screen now handles initialization, ensuring the app launches smoothly and efficiently every time.
  • Seerr Integration - Built-in support to integrate Jellyseerr or Overseerr, Once connected, requests can be made directly on the discover page or using the existing search component.

🧠 Built With

  • Frontend: Next.js, TypeScript
  • Styling: Tailwind v4, shadcn/ui, Framer Motion
  • State Management: Jotai
  • Media Backend: Jellyfin Server API, Seerr OpenAPI

⚙️ Instructions

🐳 Environment Variables

DEFAULT_SERVER_URL=your_server_url

🐳 Run with Docker (Recommended)

Docker is the recommended way to run the app. The Docker image is directly available on Docker Hub at akhilmulpuri/aperture-web.

Using Docker Compose (docker-compose.yml)

services:
  aperture:
    image: akhilmulpuri/aperture-web:latest
    ports:
      - "3000:3000"
    restart: unless-stopped
docker-compose up -d

Using Docker Run

docker run -d -p 3000:3000 --name aperture-web --restart unless-stopped akhilmulpuri/aperture-web:latest

💻 Local Development

  1. Install dependencies
    bun install
  2. Start the Next.js dev server
    bun dev
  3. Visit http://localhost:3000 and sign in with your Jellyfin instance credentials.

Hot reloading is enabled by default, so UI changes are reflected immediately.

Production Build

Create an optimized bundle served by any static host (Vercel, Netlify, S3, etc.):

bun build
bun preview   # optional sanity check

The generated assets live in dist/. Configure your host to fall back to index.html for SPA routing.

Public HTTP Jellyfin Servers

The hosted app at https://aperture.vercel.app runs over HTTPS. Modern browsers block requests from an HTTPS site to public HTTP endpoints for security reasons, which means remote servers such as http://23.x.x.x:8096 cannot be reached. To use Apertúre with a public server:

  1. Add HTTPS to your Jellyfin instance (Let's Encrypt, Caddy/NGINX reverse proxy, Cloudflare tunnel, etc.), or
  2. Run Apertúre locally (bun dev, Docker) over HTTP.

LAN/private IPs (192.168.x.x, 10.x.x.x, etc.) generally still work over HTTP because browsers treat them as “private network” resources, but for anything exposed to the internet you’ll need HTTPS.

About

A Modern Jellyfin Client built w/ Next.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.1%
  • CSS 1.6%
  • Other 0.3%