From 07b545dbd1f731aa9295be36f3ce8a2051cbdcad Mon Sep 17 00:00:00 2001 From: Arne Petersen Date: Sat, 25 Jan 2020 16:10:27 +0100 Subject: [PATCH] add jackett (#29) --- azure-pipelines.yml | 13 +++++++ jackett/CHANGELOG.md | 3 ++ jackett/Dockerfile | 10 ++++++ jackett/README.md | 26 ++++++++++++++ jackett/config.json | 45 ++++++++++++++++++++++++ jackett/icon.png | Bin 0 -> 11802 bytes jackett/logo.png | Bin 0 -> 11802 bytes jackett/root/etc/cont-init.d/20-folders | 13 +++++++ 8 files changed, 110 insertions(+) create mode 100644 jackett/CHANGELOG.md create mode 100644 jackett/Dockerfile create mode 100644 jackett/README.md create mode 100644 jackett/config.json create mode 100644 jackett/icon.png create mode 100644 jackett/logo.png create mode 100644 jackett/root/etc/cont-init.d/20-folders diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d0822ec55..015e199f5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -140,4 +140,17 @@ jobs: - template: .azure-pipelines/addon-template.yml parameters: addon: 'transmission-openvpn' + arch: '--all' + +- job: 'jackett' + condition: and(eq(variables['Build.SourceBranchName'], 'master'), succeeded('Hadolint'), succeeded('JQ')) + dependsOn: + - 'Hadolint' + - 'JQ' + pool: + vmImage: 'ubuntu-16.04' + steps: + - template: .azure-pipelines/addon-template.yml + parameters: + addon: 'jackett' arch: '--all' \ No newline at end of file diff --git a/jackett/CHANGELOG.md b/jackett/CHANGELOG.md new file mode 100644 index 000000000..0a8453e0f --- /dev/null +++ b/jackett/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + + - jackett 0.12.1635 (linuxserver/jackett:v0.12.1635-ls51) \ No newline at end of file diff --git a/jackett/Dockerfile b/jackett/Dockerfile new file mode 100644 index 000000000..01605649b --- /dev/null +++ b/jackett/Dockerfile @@ -0,0 +1,10 @@ +FROM linuxserver/jackett:v0.12.1635-ls51 + +# use /data instead of /config for hass.io environment +RUN sed -i "s|/config|/config/jackett|g" /etc/cont-init.d/30-config + +ENV XDG_DATA_HOME="/share/jackett" \ +XDG_CONFIG_HOME="/config/jackett" + +# copy local files +COPY root/ / \ No newline at end of file diff --git a/jackett/README.md b/jackett/README.md new file mode 100644 index 000000000..f0e45b640 --- /dev/null +++ b/jackett/README.md @@ -0,0 +1,26 @@ +# Hassio Add-ons by petersendev: jackett + +## About + +[Jackett](https://github.com/Jackett/Jackett) works as a proxy server: it translates queries from apps (Sonarr, SickRage, CouchPotato, Mylar, etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps. + +This addon is based on the [docker image](https://github.com/linuxserver/docker-jackett) from linuxserver.io. + +## Installation + +The installation of this add-on is pretty straightforward and not different in +comparison to installing any other Hass.io add-on. + +1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance. +1. Install this add-on. +1. Click the `Save` button to store your configuration. +1. Start the add-on. +1. Check the logs of the add-on to see if everything went well. +1. Carefully configure the add-on to your preferences, see the official documentation for for that. + + +## Configuration + +Webui can be found at `:9117`. + +[repository]: https://github.com/petersendev/hassio-addons \ No newline at end of file diff --git a/jackett/config.json b/jackett/config.json new file mode 100644 index 000000000..065a53752 --- /dev/null +++ b/jackett/config.json @@ -0,0 +1,45 @@ +{ + "name": "jackett", + "version": "0.1.0", + "slug": "jackett", + "legacy": true, + "maintenance": { + "github_release": "https://github.com/linuxserver/docker-jackett", + "version_regex": "v(\\d+\\.\\d+\\.\\d+)-(ls\\d+)" + }, + "description": "API Support for your favorite torrent trackers", + "url": "https://github.com/petersendev/hassio-addons/jackett", + "startup": "services", + "arch": [ + "aarch64", + "amd64", + "armhf" + ], + "ports": { + "9117/tcp": 9117 + }, + "ports_description": { + "9117/tcp": "web interface" + }, + "map": [ + "config:rw", + "share:rw", + "ssl" + ], + "webui": "http://[HOST]:[PORT:9117]", + "boot": "auto", + "options": { + "PUID": 1001, + "PGID": 1001 + }, + "schema": { + "PUID": "int", + "PGID": "int", + "TZ": "str?" + }, + "environment": { + "XDG_DATA_HOME": "/share/jackett", + "XDG_CONFIG_HOME": "/config/jackett" + }, + "image": "petersendev/hassio-jackett-{arch}" +} diff --git a/jackett/icon.png b/jackett/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7fa9aa8e7d5eada1875b690c6acd2afb983a8403 GIT binary patch literal 11802 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