More Premium Hugo Themes Premium Tailwind Themes

Streamchaser

Trying to keep track of where to watch your favorite movies and TV series? Streamchaser provides the definitive guide to what each streaming service has to offer right now!

Streamchaser

Trying to keep track of where to watch your favorite movies and TV series? Streamchaser provides the definitive guide to what each streaming service has to offer right now!

Author Avatar Theme by streamchaser
Github Stars Github Stars: 64
Last Commit Last Commit: Apr 10, 2025 -
First Commit Created: Dec 18, 2023 -
default image

Overview

Streamchaser is a centralized entertainment technology platform that aims to simplify the process of searching for movies, series, and documentaries on streaming services. It addresses the issue of scattered content by curating all the available options in one place. Streamchaser prioritizes convenience and ease of use for the customers, with no compromise on features, profit margins, or personal gains.

Features

  • Centralized search: Streamchaser brings together movie, series, and documentary content from various streaming services, making it easier for users to find what they are looking for.
  • Convenience-focused: The platform is designed with the customer’s convenience in mind. All features and functionalities prioritize ease of use for a seamless user experience.
  • Curated content: Streamchaser curates the available content, ensuring that only relevant and high-quality options are presented to the users.
  • Tech stack: The platform utilizes a combination of frameworks and tools, including Svelte, Svelte-kit, Tailwind CSS, DaisyUI, FastAPI, redis-py, and Gin Gonic, to deliver a robust and efficient user experience.
  • DevOps integration: Streamchaser leverages Docker for development and deployment, enhancing the efficiency and scalability of the platform.
  • CLI functionality: The platform offers a command-line interface (CLI) that allows users to perform various actions, such as full setup, updating media IDs, and interacting with different components of the system.

Installation

To install and run Streamchaser for development, follow these steps:

  1. Ensure that you have Git and Docker installed on your machine.

  2. Clone the repository using the command git clone https://github.com/streamchaser/streamchaser.git.

  3. Create a .env file in the root directory of the project and another one in the frontend/ directory. Populate them with the following environment variables:

    • Root .env:

      HOST_NAME=localhost
      APP_ENVIRONMENT=dev
      TMDB_KEY=<get one from https://www.themoviedb.org/signup>
      
    • Frontend .env:

      VITE_API_PATH=http://api.localhost
      
  4. Build the Docker container with the command: docker-compose up --build -d.

  5. Run the following command to perform the first-time setup of the application and populate the database with media:

    docker-compose exec backend python3 cli.py full-setup --first-time --popularity <1-1000>
    

    Note: The popularity parameter controls the amount of media to be populated, with lower values resulting in more content.

  6. Access Streamchaser by visiting http://localhost/.

  7. (Optional) For hot-reloading, stop the frontend container with docker-compose stop frontend, navigate to the frontend/ directory, and run yarn dev. Then, access Streamchaser by visiting http://localhost:3000.

To use the CLI’s cronjob functionality, use the following command in the terminal:

docker-compose exec backend python3 cli.py <command> <parameter>

Replace <command> and <parameter> with the desired command and its corresponding parameter. Some commonly used commands include:

  • full-setup: Performs a full setup, including downloading the newest zipped file, populating PostgreSQL, and indexing MeiliSearch and redis. Additional options include --popularity FLOAT and --first-time/--no-first-time.
  • update-ids: Updates media IDs, taking inputs in the format of m123 and t123 for movies and TV series respectively. Multiple IDs can be provided separated by spaces.
  • update-media: Sends media IDs to the internal update-media endpoint in chunks. The --first-time option uses IDs from a zipped file, while the --no-first-time option uses recently changed media. Additional options include --chunk-size INTEGER, --first-time/--no-first-time, and --popularity FLOAT.

For a full list of commands and their descriptions, use the following command:

docker-compose exec backend python3 cli.py --help

To get help with a specific command, use the following command:

docker-compose exec backend python3 cli.py <command> --help

Summary

Streamchaser is a centralized entertainment platform that simplifies the process of finding movies, series, and documentaries on streaming services. It offers a convenient and easy-to-use platform, curating high-quality content from various sources. The platform is built using a tech stack that includes Svelte, Svelte-kit, Tailwind CSS, DaisyUI, FastAPI, redis-py, and Gin Gonic. Streamchaser utilizes Docker for efficient development and deployment, and it provides a CLI for performing various actions and interactions with the system.