diff --git a/wiki/advenv.md b/wiki/advenv.md
index 7bb9d80..0690476 100644
--- a/wiki/advenv.md
+++ b/wiki/advenv.md
@@ -16,7 +16,7 @@ To do this you must take the key for the setting in the `settings.json` and writ
-e floatplane_videoResolution="1080" \
-e plex_token="ThisRemovesTheNeedForPassingUsername/Password" \
--restart unless-stopped \
- inrix/floatplane-downloader
+ inrix/floatplane-downloader:dev
```
or in a .env file:
diff --git a/wiki/docker.md b/wiki/docker.md
index 0a35ce2..1482736 100644
--- a/wiki/docker.md
+++ b/wiki/docker.md
@@ -2,9 +2,8 @@
### Tags:
-- `:latest`
- - Latest release version of the downloader
-- `:dev` - Image in sync with `dev` branch on github, bleeding edge changes that **will likely break everything**.
+- `:dev` - Image in sync with `dev` branch on github, **stable with latest features & fixes**
+- `:latest` - Latest release version of the downloader, usually stale
## Quickstart:
@@ -12,13 +11,14 @@
There is a interactive series of console prompts to help you setup the downloader and login. If you dont want to or cannot work with a interactive terminal please skip down to **Enviroment Variables**
Docker CLI:
+
```dockerfile
$ docker run -it \
-v [path]:/fp/db \
-v [path]:/fp/videos \
-e runQuickstartPrompts=true \
--restart unless-stopped \
- inrix/floatplane-downloader
+ inrix/floatplane-downloader:dev
```
- **[path]** should be replaced with a directory on your machine to hold persistent data.
@@ -32,7 +32,7 @@ Docker CLI:
-v [path]:/fp/videos \
-e headless="true" \
--restart unless-stopped \
- inrix/floatplane-downloader
+ inrix/floatplane-downloader:dev
```
@@ -41,9 +41,12 @@ Docker CLI:
Setting environment variables allows you to pass in your login details, removing the need to use the quickstart prompts to login/setup the downloader.
+**Important!!** Once you have signed in once you do not need ot leave your credentials in your config! I reccomend removing them.
+
**For login:**
Docker CLI:
+
```dockerfile
$ docker run \
-v [path]:/fp/db \
@@ -53,15 +56,15 @@ Docker CLI:
-e password="YourPasswordHere" \
-e token="Your2FactorCodeHere" \
--restart unless-stopped \
- inrix/floatplane-downloader
+ inrix/floatplane-downloader:dev
```
Docker-Compose:
+
```yaml
-version: "3.8"
services:
floatplane-downloader:
- image: inrix/floatplane-downloader
+ image: inrix/floatplane-downloader:dev
container_name: floatplane-downloader
environment:
- headless=true
@@ -77,6 +80,7 @@ services:
**For login + plex:**
Docker CLI:
+
```dockerfile
$ docker run \
-v [path]:/fp/db \
@@ -87,15 +91,15 @@ Docker CLI:
-e plexUsername="YourPlexUsernameHere" \
-e plexPassword="YourPlexPasswordHere2FactorCodeHereIfYouHaveOne" \
--restart unless-stopped \
- inrix/floatplane-downloader
+ inrix/floatplane-downloader:dev
```
Docker-Compose:
+
```yaml
-version: "3.8"
services:
floatplane-downloader:
- image: inrix/floatplane-downloader
+ image: inrix/floatplane-downloader:dev
container_name: floatplane-downloader
environment:
- headless=true
diff --git a/wiki/settings.md b/wiki/settings.md
index da4e3ba..2b4c38e 100644
--- a/wiki/settings.md
+++ b/wiki/settings.md
@@ -90,10 +90,8 @@ The following options are available to be used:
Suffix appended to artwork filename.
Added for Kodi support as Kodi looks for artwork in the format `VideoName-thumb.png`
-Windows example:
-
```json
-"artworkSuffix": "echo %videoTitle% > example.txt"
+"artworkSuffix": ""
```
@@ -113,7 +111,7 @@ You can refer to the `Path Formatting Options` section in this wiki for what can
Strings surounded by % will be replaced with their respective values.
```json
-"postProcessingCommand": ""
+"postProcessingCommand": "echo %videoTitle% > example.txt"
```
@@ -158,17 +156,6 @@ Saves video metadata to nfo files alongside each video.
-**extras.promptVideos**:
-Prompts the user to confirm videos to download after fetching.
-
-```json
-"extras": {
- "promptVideos": true
-}
-```
-
-
-
**extras.considerAllNonPartialDownloaded**:
When this is set to true the downloader will skip size checks for non `.mp4` files.
This may result in files without muxed metadata and should only be used for recovery if your `db` is lost.
@@ -220,53 +207,59 @@ Plex token generated from your login details for updating remote servers.
## Subscriptions:
All the Floatplane creators you are subscribed to.
-![image](https://user-images.githubusercontent.com/6373693/115116013-86a4a480-9feb-11eb-828a-fe4fa8ba5cf9.png)
+![image](https://github.com/Inrixia/Floatplane-Downloader/assets/6373693/9535456d-158a-4ead-b355-8d3155a8d979)
At the creator level you can see the `creatorId` and `plan`. You can also choose to `skip` a creator and not download videos from them.
+You can add custom channels to a creator if you want.
-You can add as many channels to a creator as you like, each **channel** has its own episode count and is considered its own "series".
+First come first served, the first channel a video matches to is what it goes into, channels are checked top to bottom in the config. Videos cannot be sorted into multiple channels.
-A **channel** is made up of a `title`, `skip`, an array of `identifiers` and `consoleColor`.
+A **channel** is made up of a `title`, `skip`, `isChannel` and optionally `daysToKeepVideos`.
`title` is the nice name used for the channel.
`skip` can be set to true to skip downloading videos matched on the given channel.
-`identifiers` specify the conditions for a video to be added to a channel.
-`daysToKeepVideos` is the optional number of days to keep videos for this channe. 2 would mean only videos released within the last two days are downloaded and any older will be automatically deleted if previously downloaded.
+`isChannel` function that returns true or false if the video should be sorted into this channel (more on this further down).
+`daysToKeepVideos` is the optional number of days to keep videos for this channel. **2** would mean only videos released within the **last two days** are downloaded and any older will be **automatically deleted** if previously downloaded.
-An Identifier contains two entries `check` and `type`.
-The `check` is the string to look for.
-The `type` is where in the video returned from the floatplane api to search for the check string.
-This can be `description`, `title` etc any property that exists on the video. See [FloatplaneApiDocs/getBlogPost](https://jman012.github.io/FloatplaneAPIDocs/Redoc/redoc-static.html#operation/getBlogPost) for more info...
-The identifiers `releasedAfter` and `releasedBefore` can also be used to match videos that were released before or after a specified date. You can also use `runtimeLessThan` and `runtimeGreaterThan` to only match videos whos runtime is greated or lower than the specified value in seconds. This can be used with a generic skip channel to skip videos with a runtime greater or less than the desired amount.
+**isChannel** is a function that accepts a **[post](https://jman012.github.io/FloatplaneAPIDocs/Redoc/redoc-static.html#tag/ContentV3/operation/getBlogPost)** which is the post the video belongs to and **[video](https://jman012.github.io/FloatplaneAPIDocs/Redoc/redoc-static.html#tag/ContentV3/operation/getVideoContent)** which is one or more videos belonging to that post.
+
+If it returns **true** the video is sorted into the channel, **false** and its not.
+This gives the flexibility to create completely custom channels based on any properties of a post or video.
For example:
```json
-"Floatplane Exclusive": {
- "title": "Floatplane Exclusive",
- "skip": false,
- "identifiers": [
- {
- "check": "FP Exclusive: ",
- "type": "title"
- }
- ],
- "daysToKeepVideos": 5
+{
+ "title": "Creators with Technoligy in their Description",
+ "skip": false,
+ "isChannel": "(post, video) => post.creator?.description?.toLowercase()?.includes('technology')",
+ "daysToKeepVideos": 5
}
```
-This is a channel named "Floatplane Exclusive".
-Videos that have "FP Exclusive: " in their title will be sorted into this channel.
-Videos released more than 5 days ago will be automatically deleted.
+## Metrics:
+
+**metrics.prometheusExporterPort**:
+Default is `null` if set to a number prometheus metrics will be made availible at that port.
+
+```json
+"metrics": {
+ "prometheusExporterPort": 8080,
+}
+```
+
-A few more notes regarding channels:
+**metrics.contributeMetrics**:
+If true metrics will be included in the aggregate dashboard.
-- First come first served, the first channel a video matches to is what it goes into, channels are checked top to bottom in the config. Videos cannot be sorted into multiple channels.
-- You can have multiple identifiers per channel to allow for more accurate matching.
-- The `check` string is removed from the video's title if the `type`is equal to "title".
+```json
+"metrics": {
+ "contributeMetrics": true
+}
+```