Skip to content

engels74/obzorarr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

534 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Obzorarr Logo

Obzorarr

Year in Review for Plex Media Server

License Bun SvelteKit TypeScript SQLite Ask DeepWiki


What is Obzorarr?

Obzorarr is a "Wrapped for Plex" application that syncs viewing history from your Plex Media Server and generates yearly statistics with an animated slideshow presentation - similar to Spotify Wrapped. It doesn't require Tautulli; it only relies on the Plex API.

Features

Wrapped Demo

  • Yearly Statistics — Total watch time, top movies, shows, and genres
  • Animated Slideshow — Beautiful, interactive presentation of your viewing habits
  • Watch Patterns — Monthly and hourly distribution charts
  • Percentile Rankings — See how you compare to other users on your server
  • Plex OAuth — Secure authentication with your Plex account
  • Automatic Sync — Scheduled background sync of viewing history
  • AI Fun Facts — Optional AI-generated personalized insights

Issues & Support

Found a bug or have a feature request? Please submit issues and feature requests to the obzorarr-docker repository rather than this repository. This ensures your report reaches the maintainers monitoring issue tracking across the project.

Screenshots

Admin Dashboard
Dashboard Settings Sync Management

Admin Demo

Wrapped Presentation
Total Time Top Movies
Top Shows Genres
Percentile Ranking Fun Facts
Summary Share

Tech Stack

Component Technology
Runtime Bun
Framework SvelteKit + Svelte 5
Database SQLite (Drizzle ORM)
Styling UnoCSS + shadcn-svelte
Animation GSAP + Motion

Quick Start

Docker (Recommended) — Image Repo

services:
  obzorarr:
    container_name: obzorarr
    image: ghcr.io/engels74/obzorarr-docker
    ports:
      - 3000:3000
    environment:
      - PUID=1000
      - PGID=1000
      - UMASK=002
      - TZ=Etc/UTC
      # Optional: lock Plex connection at the env layer. You can also leave
      # these unset and configure the server from the admin UI after onboarding.
      # - PLEX_SERVER_URL=http://plex-url-here:32400
      # - PLEX_TOKEN=your-plex-token-here
    volumes:
      - /<host_folder_config>:/config

Replace /<host_folder_config> with your desired config path. Access the web UI at http://localhost:3000 to complete setup.

From Source

git clone https://github.com/engels74/obzorarr.git
cd obzorarr
cp .env.example .env
bun install
bun run dev

Note on .env in local dev. bun run dev does not auto-load .env, so any PLEX_SERVER_URL / OPENAI_* values you put there are ignored — local dev configures the server through onboarding and the admin UI (values stored in the SQLite DB). Environment-variable precedence (and the "Locked by environment variable" UI) applies to Docker/production, where the container passes the vars into the process. To exercise env-precedence locally (e.g. to see an env-locked field render its ENV badge), run bun run dev:env, which loads .env via --env-file.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

Obzorarr is a "Wrapped for Plex" application that syncs viewing history from your Plex Media Server and generates yearly statistics with an animated slideshow presentation - similar to Spotify Wrapped.

Resources

License

Stars

36 stars

Watchers

0 watching

Forks

Contributors