7. `traktarr` - run once to generate a default a config.json file.
7. `traktarr` - run once to generate a sample a config.json file.
8. `nano config.json` - edit preferences.
## 2. Setup Schedule
## 2. Create a Trakt Application
To have Traktarr get Movies and Shows for you automatically, on set interval.
1. Create a Trakt application by going [here](https://trakt.tv/oauth/applications/new)
2. Enter a name for your application; for example `traktarr`
3. Enter `urn:ietf:wg:oauth:2.0:oob` in the `Redirect uri` field.
4. Click "SAVE APP".
5. Open the traktarr configuration file `config.json` and insert the Client ID in the `client_id` and the Client Secret in the `client_secret`, like this:
For each user you want to access the private lists for (i.e. watchlist and/or custom lists), you will need to to authenticate that user.
Repeat the following steps for every user you want to authenticate:
1. Run `traktarr trakt_authentication`
2. You wil get the following prompt:
```
- We're talking to Trakt to get your verification code. Please wait a moment...
- Go to: https://trakt.tv/activate on any device and enter A0XXXXXX. We'll be polling Trakt every 5 seconds for a reply
```
3. Go to https://trakt.tv/activate.
4. Enter the code you see in your terminal.
5. Click continue.
6. If you are not logged in to Trakt, login now.
7. Click "Accept".
8. You will get the message: "Woohoo! Your device is now connected and will automatically refresh in a few seconds.".
You've now authenticated the user.
You can repeat this process for as many users as you like.
# Configuration
## Sample Configuration
```json
{
"core": {
@ -133,7 +187,7 @@ To have Traktarr get Movies and Shows for you automatically, on set interval.
"service": "slack",
"webhook_url": ""
},
"verbose": true,
"verbose": true
},
"radarr": {
"api_key": "",
@ -149,7 +203,8 @@ To have Traktarr get Movies and Shows for you automatically, on set interval.
"url": "http://localhost:8989/"
},
"trakt": {
"api_key": ""
"client_id": "",
"client_secret": ""
}
}
```
@ -168,9 +223,11 @@ To have Traktarr get Movies and Shows for you automatically, on set interval.
## Automatic
Used for automatic / scheduled Traktarr tasks.
Used for automatic / scheduled traktarr tasks.
Movies can be run on a separate schedule then from Shows.
Movies can be run on a separate schedule from Shows.
_Note: These settings are only needed if you plan to use traktarr on a schedule (i.e. via manual/CLI command only); see [Usage](#usage)._
```json
"automatic": {
@ -179,21 +236,128 @@ Movies can be run on a separate schedule from Shows.
"boxoffice": 10,
"interval": 24,
"popular": 3,
"trending": 2
"trending": 2,
"watchlist": {},
"lists": {}
},
"shows": {
"anticipated": 10,
"interval": 48,
"popular": 1,
"trending": 2
"trending": 2,
"watchlist": {},
"lists": {}
}
},
```
`interval` - specify how often (in hours) to run Traktarr task.
`interval` - specify how often (in hours) to run traktarr task.
`anticipated`, `popular`, `trending`, `boxoffice` (movies only) - specify how many items from each Trakt list to find.
`watchlist` - specify which watchlists to fetch (see explanation below)
`lists` - specify which custom lists to fetch (see explanation below)
### Personal Watchlists
The watchlist task can be scheduled with a differtent item limit for every (authenticated) user.
So for every user, you will add: `"username": limit` to the watchlist key. For example:
```json
"automatic": {
"movies": {
"watchlist": {
"user1": 10,
"user2": 5
}
},
"shows": {
"watchlist": {
"user1": 2,
"user3": 1
}
}
},
```
Of course you can combine this with running the other list types as well.
### Custom Lists
You can also schedule any number of public or private custom lists.
For both public and private lists you'll need the url to that list. When viewing the list on Trakt, simply copy the url from the address bar of the your browser.
#### Public Lists
Public lists can be added by specifying the url and the item limit like this:
Use filters to specify the movie/shows's country of origin or blacklist (i.e. filter-out) certain keywords, genres, years, runtime, or specific movies/shows.
@ -227,7 +391,7 @@ Use filters to specify the movie/shows's country of origin or blacklist (i.e. fi
`blacklist_title_keywords` - blacklist certain words in titles.
`blacklisted_genres` - blacklist certain generes.
`blacklisted_genres` - blacklist certain genres.
`blacklisted_max_year` - blacklist release dates after specified year.
@ -283,7 +447,7 @@ Use filters to specify the movie/shows's country of origin or blacklist (i.e. fi
`allowed_countries` - allowed countries of origin.
`blacklisted_genres` - blacklist certain generes.
`blacklisted_genres` - blacklist certain genres.
`blacklisted_max_year` - blacklist release dates after specified year.
@ -298,9 +462,11 @@ Use filters to specify the movie/shows's country of origin or blacklist (i.e. fi
## Notifications
Notification alerts during tasks.
Notification alerts for traktarr tasks.
Currently, only Pushover and Slack are supported. More will abe added later.
_Note: Manual commands need the `--notifications` flag._
Currently, only Pushover and Slack are supported. More will be added later.
```json
@ -314,7 +480,7 @@ Currently, only Pushover and Slack are supported. More will abe added later.
"service": "slack",
"webhook_url": ""
},
"verbose": true,
"verbose": true
},
```
@ -387,6 +553,8 @@ Sonarr configuration.
To show how tags work, we will create a sample tag `AMZN` and assign it to certain networks.
_Note: These are optional._
### Sonarr
First, we will create a tag in Sonarr (Settings > Indexers > Restrictions).
@ -397,9 +565,9 @@ Must not contain:
Tags: AMZN
```
### Traktarr
### traktarr
Finally, we will edit the Traktarr config and assign the `AMZN` tag to certain networks.
Finally, we will edit the traktarr config and assign the `AMZN` tag to certain networks.
```json
"tags": {
@ -429,27 +597,35 @@ Finally, we will edit the Traktarr config and assign the `AMZN` tag to certain n
## Trakt
Trakt Authentication info:
```json
"trakt": {
"api_key": ""
"client_id": "",
"client_secret": ""
}
```
`api_key` - Fill in your Trakt API key (_Client ID_).
`client_id` - Fill in your Trakt API key (_Client ID_).
`client_secret` - Fill in your Trakt Secret key (_Client Scret_)
How to get a Trakt API Key:
- Go to https://trakt.tv/oauth/applications/new
- Fill in:
- Name: `Traktarr`
- Redirect uri: `https://google.com`
- Click `Save App`
- Retrieve the _Client ID_.
# Usage
## Automatic (Scheduled)
To have traktarr get Movies and Shows for you automatically, on set interval.