Skip to content

A Python based monitoring and tracking tool for Plex Media Server.

License

Notifications You must be signed in to change notification settings

FelixClements/Observa

 
 

Repository files navigation

Observa

Observa is a Python web application for monitoring, analytics, and notifications for Plex Media Server.

This is a fork of Tautulli that focuses on a modernized, container-only deployment model while keeping feature parity with upstream wherever possible.

What is different in this fork

  • Docker-only, Linux-only runtime. All non-container installers and platform-specific runtime code paths have been removed.
  • PostgreSQL-only runtime. SQLite is supported only as a one-time migration source for existing installs.
  • SQLAlchemy 2.x + Alembic migrations. Schema changes are managed via migrations and validated against ORM metadata.
  • De-vendored dependencies. Runtime libraries are installed via pip and tracked in requirements.txt.
  • Reorganized codebase. Application modules are grouped under plexpy/ subpackages (web, services, db, config, util) for clearer boundaries.

Features

Most features match upstream Tautulli. Highlights include:

  • Responsive web UI for desktop, tablet, and mobile.
  • Current Plex Media Server activity monitoring.
  • Custom notifications for streams and recently added media.
  • Home page stats, global history, user comparisons, and library analytics.
  • Highcharts-based graphs and rich media detail pages.

Preview

Observa Homepage

Installation (Docker only)

Use the docker-compose.yml in this repo or run the container directly. The container runs as user tautulli (UID/GID 1000); ensure /config is writable or override with --user.

Database

  • PostgreSQL is required at runtime.
  • Provide connection details via environment variables or config.ini under [Database].
  • docker-compose.yml includes a Postgres 16 service and wiring for Observa.

Configuration

  • Environment variables (legacy names): TAUTULLI_DB_HOST, TAUTULLI_DB_PORT, TAUTULLI_DB_NAME, TAUTULLI_DB_USER, TAUTULLI_DB_PASSWORD, TAUTULLI_DB_SSLMODE, TAUTULLI_DB_POOL_SIZE, TAUTULLI_DB_MAX_OVERFLOW, TAUTULLI_DB_POOL_TIMEOUT.
  • config.ini keys (under [Database]): db_host, db_port, db_name, db_user, db_password, db_sslmode, db_pool_size, db_max_overflow, db_pool_timeout.

Migration

  • SQLite is supported only as a one-time migration source into Postgres.
  • New installs initialize an empty Postgres database automatically.
  • Existing installs must run migrations explicitly using --migrate-db.

Backups

  • Backups use pg_dump. Ensure the Postgres client tools are available in the container/host.

Architecture

See docs/architecture.md for the updated project structure and runtime flow.

Support

Open issues and feature requests in this repository: https://github.com/FelixClements/Observa

License

This is free software under the GPL v3 open source license. Feel free to do with it what you wish, but any modification must be open sourced. A copy of the license is included.

This software includes Highsoft software libraries which you may freely distribute for non-commercial use. Commercial users must license this software, for more information visit https://shop.highsoft.com/faq/non-commercial#non-commercial-redistribution.

About

A Python based monitoring and tracking tool for Plex Media Server.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Python 55.9%
  • HTML 32.1%
  • JavaScript 7.0%
  • CSS 5.0%