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 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.
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 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
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 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
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.