barbequesauce / Watcher3

Fork of nosmokingbandit/Watcher3 as the original seems inactive. PRs welcome, support is community based.
Other
69 stars 19 forks source link
htpc imdb movies python3 trakt

Watcher

Watcher3 Watcher is an automated movie NZB & Torrent searcher and snatcher. You can add a list of wanted movies and Watcher will automatically send the NZB or Torrent to your download client. Watcher also has basic post-processing capabilities such as renaming and moving.

Gitter IRC Discord

Codacy Docker Pull Count Docker Build Docker Build Watcher is a work in progress and plans to add more features in the future, but we will always prioritize speed and stability over features. #### Note that as the owner of the original project seems to be inactive, this repository has been established in an attempt to move the project forward, taking in both pending PRs from the original project and PRs applied to other forks. Watcher may change frequently, so we strongly suggest that you come by and say hello on Freenode (#watcher3) or via Gitter. We also have [Discord](https://discord.gg/wrHPyre) Note that Python 3 is required, although latest builds (3.8.x) are not fully functional yet. Refer to the wiki for more information about post-processing, start scripts, and other features. https://github.com/barbequesauce/Watcher3/wiki ## Latest Added ARM 32 and 64 bit docker images. Added docker timezone support. ## Installation We have several options to choose from: If you are not using Docker, Watcher requires Python 3. It is also recommended that you install GIT. This will allow you to update much more easily. ### Installation using GIT Obtaining the files: git clone https://github.com/barbequesauce/Watcher3.git Start Watcher using: python3 /watcher/watcher.py Open a browser and navigate to localhost:9090 ### Installation by downloading the ZIP: If you do not wish to use Git, follow these steps. 1. Open your browser and go to https://github.com/barbequesauce/Watcher3 2. Click on the green Clone or download button and click Download ZIP 3. Once done downloading, extract the ZIP to the location in which you want Watcher installed 4. Open a terminal and cd to the Watcher directory. 5. Start Watcher using: ```python3 watcher/watcher.py``` 6. Open a browser and navigate to localhost:9090 #### Usage arguments (not for docker) You can add the following arguments to Watcher when running the Python script. Always use the absolute path when supplying a directory or file argument. Run the server as a daemon (*nix only) $ watcher.py --daemon Run the server as a background process (Windows only) $ python watcher.py --daemon Change address to bind to. $ watcher.py --address 0.0.0.0 Change port to host on. $ watcher.py --port 9090 Open browser on launch. $ watcher.py --browser Change path to config file. If not present, one will be created. watcher.py --conf /path/to/config.cfg Specify custom posters dir (where watcher saves posters to). watcher.py --posters /path/to/posters/dir Change path of log directory. $ watcher.py --log /path/to/logs/ Change path to database. If not present, a new, empty database will be created. $ watcher.py --db /path/to/database.sqlite Change path to plugins directory. $ watcher.py --plugins /path/to/plugins/ Create PID file. $ watcher.py --pid /path/to/pid/file.pid #### Backup / Restore (non-docker) Watcher includes a simple script for backing up and restoring your database and config. The backup function will create a new watcher.zip in the Watcher folder. To restore, place watcher.zip in the Watcher folder of your target installation and run the restore command. Usage Back up Watcher. $ backup.py -b Restore Watcher. $ backup.py -r ## Docker: Our docker uses an Alpine 3.10 base, with a few extra things like nano and vim for on the fly edits without stopping the container. By default, the image is built for amd64 machines. 1. Pull the container: ``` docker pull barbequesauce/watcher3``` 2. Example run command: ``` docker run -d \ --name=watcher3 \ -v /path/to/config/:/config \ -v /path/to/downloads/:/downloads \ -v /path/to/movies/:/movies \ -e UMASK_SET=022 \ -e APP_UID=1000 -e APP_GID=1000 \ -p 9090:9090 \ barbequesauce/watcher3 ``` If you wish to exec into the container to have a look around, use: ``` docker exec -it watcher3 /bin/bash``` ### Other Architectures For 32-bit ARM (such as the Raspberry Pi) use: ``` barbequesauce/watcher3:armhf``` For 64-bit ARM use: ``` barbequesauce/watcher3:arm64``` So for example: 1. Pull the container: ``` docker pull barbequesauce/watcher3:armhf``` 2. Example run command: ``` docker run -d \ --name=watcher3 \ -v /path/to/config/:/config \ -v /path/to/downloads/:/downloads \ -v /path/to/movies/:/movies \ -e UMASK_SET=022 \ -e APP_UID=1000 -e APP_GID=1000 \ -p 9090:9090 \ barbequesauce/watcher3:armhf ``` ### Docker Timezone By default, the Alpine docker images use UTC. You can set the timezone using the `TZ` env variable and your TZ code from the database [here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For example: ``` docker run -d \ --name=watcher3 \ -v /path/to/config/:/config \ -v /path/to/downloads/:/downloads \ -v /path/to/movies/:/movies \ -e UMASK_SET=022 \ -e APP_UID=1000 -e APP_GID=1000 \ -e TZ="Europe/London" \ -p 9090:9090 \ barbequesauce/watcher3:armhf ```