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:
Ensure that you have Git and Docker installed on your machine.
Clone the repository using the command
git clone https://github.com/streamchaser/streamchaser.git
.Create a
.env
file in the root directory of the project and another one in thefrontend/
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
Build the Docker container with the command:
docker-compose up --build -d
.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.Access Streamchaser by visiting http://localhost/.
(Optional) For hot-reloading, stop the frontend container with
docker-compose stop frontend
, navigate to thefrontend/
directory, and runyarn 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 ofm123
andt123
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.