From ad9367cb5a035dc1360d56b72c16e0c45412e27d Mon Sep 17 00:00:00 2001 From: JigSaw Date: Fri, 17 Nov 2023 22:02:40 +0100 Subject: [PATCH] feat(store): add cross-seed (#1617) --- README.md | 1 + apps/cross-seed/config.json | 24 ++++++++++++++++++++++++ apps/cross-seed/docker-compose.yml | 18 ++++++++++++++++++ apps/cross-seed/metadata/description.md | 22 ++++++++++++++++++++++ apps/cross-seed/metadata/logo.jpg | Bin 0 -> 19622 bytes 5 files changed, 65 insertions(+) create mode 100644 apps/cross-seed/config.json create mode 100644 apps/cross-seed/docker-compose.yml create mode 100644 apps/cross-seed/metadata/description.md create mode 100644 apps/cross-seed/metadata/logo.jpg diff --git a/README.md b/README.md index 1f989ced..08242440 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Code-Server](https://github.com/coder/code-server) - Web VS Code - [Codex.Docs](https://github.com/codex-team/codex.docst) - Free Docs app powered by Editor.js ecosystem. - [Conduit](https://gitlab.com/famedly/conduit) - Conduit is a simple, fast and reliable chat server written in Rust +- [Cross-seed](https://github.com/cross-seed/cross-seed) - Fully-automatic, no false positives. - [DailyTXT](https://github.com/PhiTux/DailyTxT) - Encrypted Diary Web-App - [Dash.](https://github.com/MauriceNino/dashdot) - A simple, modern server dashboard, primarily used by smaller private server - [Dashy](https://github.com/lissy93/dashy) - A self-hostable personal dashboard built for you. diff --git a/apps/cross-seed/config.json b/apps/cross-seed/config.json new file mode 100644 index 00000000..914d9ad9 --- /dev/null +++ b/apps/cross-seed/config.json @@ -0,0 +1,24 @@ +{ + "$schema": "../schema.json", + "name": "Cross-Seed", + "port": 2468, + "available": true, + "exposable": false, + "no_gui": true, + "uid": 1000, + "gid": 1000, + "id": "cross-seed", + "tipi_version": 5, + "version": "5.7.0", + "categories": [ + "media", + "utilities" + ], + "description": "An app designed to help you download torrents that you can cross seed based on your existing torrents. It is designed to match conservatively to minimize manual intervention.", + "short_desc": "Fully-automatic cross-seeding with Torznab.", + "author": "Cross-Seed Team", + "source": "https://github.com/cross-seed/cross-seed", + "website": "https://www.cross-seed.org", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"] +} diff --git a/apps/cross-seed/docker-compose.yml b/apps/cross-seed/docker-compose.yml new file mode 100644 index 00000000..b1e0491a --- /dev/null +++ b/apps/cross-seed/docker-compose.yml @@ -0,0 +1,18 @@ +services: + cross-seed: + container_name: cross-seed + image: ghcr.io/cross-seed/cross-seed:5.7.0 + user: 1000:1000 + restart: unless-stopped + command: daemon + environment: + - TZ=${TZ} + volumes: + - ${APP_DATA_DIR}/data/config:/config + - ${ROOT_FOLDER_HOST}/app-data/transmission-vpn/data/config/transmission-home/torrents:/torrents:ro + - ${ROOT_FOLDER_HOST}/media/torrents/watch:/cross-seeds + networks: + - tipi_main_network + labels: + # Main + traefik.enable: false \ No newline at end of file diff --git a/apps/cross-seed/metadata/description.md b/apps/cross-seed/metadata/description.md new file mode 100644 index 00000000..a8cfa554 --- /dev/null +++ b/apps/cross-seed/metadata/description.md @@ -0,0 +1,22 @@ +# cross-seed: Fully-automatic, no false positives + +`cross-seed` is an app designed to help you download torrents that you can cross seed based on your existing torrents. It is designed to match conservatively to minimize manual intervention. + +`cross-seed` can inject the torrents it finds directly into your torrent client. +Currently, the supported clients are + +- rTorrent +- qBittorrent +- Transmission +- Deluge + +If your client isn't supported, `cross-seed` will download a bunch of torrent files to a folder you specify. +After that, I recommend using [AutoTorrent2](https://github.com/JohnDoee/autotorrent2) to do the last-mile delivery into your client. + +## Tutorial + +Head on over to [cross-seed.org](https://www.cross-seed.org/docs/basics/getting-started) to get started. + +## Troubleshooting + +Feel free to [start a discussion](https://github.com/cross-seed/cross-seed/discussions/new), or reach out on [Discord](https://discord.gg/jpbUFzS5Wb). \ No newline at end of file diff --git a/apps/cross-seed/metadata/logo.jpg b/apps/cross-seed/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9334134862d511cf1e9ce8fa57cdc03f57fb6e33 GIT binary patch literal 19622 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 literal 0 HcmV?d00001