feat: add install.sh for targeted plugin updates via raw file URLs
Build / Lint & Test (push) Successful in 11s
Build / Lint & Test (push) Successful in 11s
This commit is contained in:
1 parent
303c3b9fd3
commit
3b7f660058
2 files changed
+138
-40
No files matched your search
@@ -6,72 +6,75 @@ A collection of [Tdarr](https://tdarr.io/) Flow plugins for automated media tran
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Quick Install via curl
|
||||
## ⚡ Quick Install / Update via curl
|
||||
|
||||
> **How it works**: Gitea serves a real ZIP of any branch at `/archive/<branch>.zip`.
|
||||
> This is a built-in git archive — **no release workflow required**, always up to date.
|
||||
### Recommended — `install.sh` (no ZIP, no clone)
|
||||
|
||||
### Full Suite (all 7 plugins)
|
||||
The repo includes an [`install.sh`](install.sh) script that downloads only the `index.js`
|
||||
files you need directly from Gitea raw URLs.
|
||||
|
||||
**Update all plugins at once:**
|
||||
```bash
|
||||
PLUGIN_DIR=/path/to/tdarr/plugins/FlowPlugins
|
||||
|
||||
# Download a live ZIP of the main branch directly from Gitea
|
||||
curl -fsSL https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/archive/main.zip \
|
||||
-o /tmp/tdarr-plugins.zip
|
||||
|
||||
# Extract and copy into your plugin directory
|
||||
unzip -q -o /tmp/tdarr-plugins.zip -d /tmp/tdarr-extract
|
||||
cp -r /tmp/tdarr-extract/Tdarr-plugin/LocalFlowPlugins "${PLUGIN_DIR}/"
|
||||
cp -r /tmp/tdarr-extract/Tdarr-plugin/FlowHelpers "${PLUGIN_DIR}/"
|
||||
rm -rf /tmp/tdarr-plugins.zip /tmp/tdarr-extract
|
||||
curl -fsSL https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/raw/branch/main/install.sh \
|
||||
| bash -s -- /your/tdarr/plugins/FlowPlugins
|
||||
```
|
||||
|
||||
After extracting, restart the Tdarr server so it picks up the new plugins:
|
||||
**Update a single plugin** (e.g. after a bug fix):
|
||||
```bash
|
||||
curl -fsSL https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/raw/branch/main/install.sh \
|
||||
| bash -s -- /your/tdarr/plugins/FlowPlugins transcode2PassX265
|
||||
```
|
||||
|
||||
**Update two specific plugins:**
|
||||
```bash
|
||||
curl -fsSL https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/raw/branch/main/install.sh \
|
||||
| bash -s -- /your/tdarr/plugins/FlowPlugins transcode2PassX265 extractSubtitlesAndOcr
|
||||
```
|
||||
|
||||
Then restart Tdarr:
|
||||
```bash
|
||||
docker restart tdarr-server
|
||||
```
|
||||
|
||||
### One-liner (copy-paste for Docker hosts)
|
||||
---
|
||||
|
||||
### Alternative — Full ZIP (first install)
|
||||
|
||||
```bash
|
||||
PLUGIN_DIR=/your/tdarr/plugins/FlowPlugins && \
|
||||
curl -fsSL https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/archive/main.zip -o /tmp/tp.zip && \
|
||||
unzip -q -o /tmp/tp.zip -d /tmp/tpx && \
|
||||
cp -r /tmp/tpx/Tdarr-plugin/LocalFlowPlugins "${PLUGIN_DIR}/" && \
|
||||
cp -r /tmp/tpx/Tdarr-plugin/FlowHelpers "${PLUGIN_DIR}/" && \
|
||||
rm -rf /tmp/tp.zip /tmp/tpx && \
|
||||
docker restart tdarr-server && echo "Done."
|
||||
PLUGIN_DIR=/path/to/tdarr/plugins/FlowPlugins
|
||||
|
||||
curl -fsSL https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/archive/main.zip \
|
||||
-o /tmp/tdarr-plugins.zip
|
||||
unzip -q -o /tmp/tdarr-plugins.zip -d /tmp/tdarr-extract
|
||||
cp -r /tmp/tdarr-extract/Tdarr-plugin/LocalFlowPlugins "${PLUGIN_DIR}/"
|
||||
cp -r /tmp/tdarr-extract/Tdarr-plugin/FlowHelpers "${PLUGIN_DIR}/"
|
||||
rm -rf /tmp/tdarr-plugins.zip /tmp/tdarr-extract
|
||||
docker restart tdarr-server
|
||||
```
|
||||
|
||||
### Individual Plugin (single raw file)
|
||||
|
||||
Each plugin is a single `index.js` file. Download just what you need:
|
||||
### Alternative — Single raw file
|
||||
|
||||
```bash
|
||||
# Example: transcode2PassX265
|
||||
BASE=https://git.cdtech.freeddns.org/PickleRick/Tdarr-plugin/raw/branch/main
|
||||
PLUGIN=transcode2PassX265
|
||||
CATEGORY=video
|
||||
DEST=/path/to/tdarr/plugins/FlowPlugins/LocalFlowPlugins/${CATEGORY}/${PLUGIN}/1.0.0
|
||||
|
||||
mkdir -p "${DEST}"
|
||||
curl -fsSL "${BASE}/LocalFlowPlugins/${CATEGORY}/${PLUGIN}/1.0.0/index.js" \
|
||||
-o "${DEST}/index.js"
|
||||
curl -fsSL "${BASE}/LocalFlowPlugins/${CATEGORY}/${PLUGIN}/1.0.0/index.js" -o "${DEST}/index.js"
|
||||
```
|
||||
|
||||
| Plugin | Category | Path segment |
|
||||
|---|---|---|
|
||||
| `mediaAnalyzerGOP` | `utility` | `LocalFlowPlugins/utility/mediaAnalyzerGOP/1.0.0/index.js` |
|
||||
| `setAnimationFlag` | `utility` | `LocalFlowPlugins/utility/setAnimationFlag/1.0.0/index.js` |
|
||||
| `extractChaptersXml` | `utility` | `LocalFlowPlugins/utility/extractChaptersXml/1.0.0/index.js` |
|
||||
| `audioSelectorClamping` | `audio` | `LocalFlowPlugins/audio/audioSelectorClamping/1.0.0/index.js` |
|
||||
| `backupSourceAudio` | `audio` | `LocalFlowPlugins/audio/backupSourceAudio/1.0.0/index.js` |
|
||||
| `extractSubtitlesAndOcr` | `subtitles` | `LocalFlowPlugins/subtitles/extractSubtitlesAndOcr/1.0.0/index.js` |
|
||||
| `transcode2PassX265` | `video` | `LocalFlowPlugins/video/transcode2PassX265/1.0.0/index.js` |
|
||||
| Plugin | Category |
|
||||
|---|---|
|
||||
| `mediaAnalyzerGOP` | `utility` |
|
||||
| `setAnimationFlag` | `utility` |
|
||||
| `extractChaptersXml` | `utility` |
|
||||
| `audioSelectorClamping` | `audio` |
|
||||
| `backupSourceAudio` | `audio` |
|
||||
| `extractSubtitlesAndOcr` | `subtitles` |
|
||||
| `transcode2PassX265` | `video` |
|
||||
|
||||
### Tagged Releases (optional, requires CI push)
|
||||
### Tagged Releases (versioned ZIPs)
|
||||
|
||||
Once a release is published by the CI workflow, versioned ZIPs are also available:
|
||||
|
||||
|
||||
Reference in new issue
Block a user