GoodWatch is alive and running. Check it out: https://goodwatch.app/
Join our Discord to learn about the project: https://discord.gg/TVAcrfQzcA
- Personalized Recommendations based on your ratings and watched movies & shows
- Fingerprint: Classify movies and TV shows by hundreds of meaningful categories (e.g. Emotions, Plot, Subgenres, Visual Style, Cultural Context, etc.)
- See availability of streaming services for each title (Netflix, Hulu, Amazon Prime, ...)
- See all ratings at one place (IMDb, Metacritic, Rotten Tomatoes)
| Directory | Description |
|---|---|
goodwatch-webapp/ |
Remix web application (frontend + API) |
goodwatch-hq/ |
Admin tools and internal services |
goodwatch-remote/ |
Ansible deployment scripts and Windmill Workers |
goodwatch-flows/ |
Windmill data pipelines and ETL workflows |
goodwatch-qdrant/ |
Qdrant vector database for similarity search and recommendations |
goodwatch-crate/ |
CrateDB for webapp access |
goodwatch-mongo/ |
MongoDB for data pipeline storage |
goodwatch-cache/ |
Redis cache cluster configuration |
goodwatch-metrics/ |
Prometheus metrics collection |
goodwatch-monitoring/ |
Grafana dashboards and alerting |
goodwatch-proxy/ |
Caddy reverse proxy configuration |
We welcome contributions! Please feel free to submit a Pull Request.
The following guide is outdated. If you want to contribute to the project, please join the Discord Community.
Running the web app:
- Clone this repository
- Register for a TMDB API Key
- Copy
.env.exampleto.envfrom/goodwatch-webappand fill out the required secrets
You are now ready to run it locally:
cd goodwatch-webapp
npm install
npm run devRunning the whole infrastructure to run GoodWatch is more complex. The guide below is far from complete at the moment.
https://github.com/bitnami/containers/blob/main/bitnami/redis/README.md
redis-cli --cluster create 78.46.209.172:6379 168.119.242.21:6379 91.107.208.205:6379 --cluster-replicas 0 -a <REDIS_PASSWORD>
openssl rand -base64 756 > mongodb-keyfile
https://github.com/csuka/ansible_role_mongodb_ubuntu
ansible-galaxy collection install community.mongodb
ansible-galaxy install csuka.mongodb_ubuntu
ansible-playbook -i inventory.ini playbook.yml
TODO
apt-get install make fzf
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
git clone https://github.com/alp82/goodwatch-monorepo.git
sshfs
apt-get update && apt-get install sshfs
fstab
[email protected]:/home /mnt/backup-xxx fuse.sshfs _netdev,port=23,IdentityFile=/root/.ssh/id_rsa,allow_other,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 0 0
uv
curl -LsSf https://astral.sh/uv/install.sh | sh
docker image prune -a
docker builder prune
https://www.ibm.com/docs/en/z-logdata-analytics/5.1.0?topic=compose-relocating-docker-root-directory