Skip to content

Commit

Permalink
chore: Sync with runtipi-appstore
Browse files Browse the repository at this point in the history
  • Loading branch information
dragonfire1119 committed May 29, 2024
1 parent 3c616be commit 0c8b1d9
Show file tree
Hide file tree
Showing 305 changed files with 4,596 additions and 712 deletions.
1 change: 1 addition & 0 deletions apps/2fauth/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"gid": 1000,
"available": true,
"exposable": true,
"dynamic_config": true,
"id": "2fauth",
"tipi_version": 15,
"version": "5.1.1",
Expand Down
20 changes: 20 additions & 0 deletions apps/2fauth/docker-compose.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"services": [
{
"name": "2fauth",
"image": "2fauth/2fauth:5.1.1",
"internalPort": 8000,
"isMain": true,
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data",
"containerPath": "/2fauth"
}
],
"environment": {
"ASSET_URL": "http://${APP_DOMAIN}",
"APP_URL": "http://${APP_DOMAIN}"
}
}
]
}
32 changes: 32 additions & 0 deletions apps/__tests__/app-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { z } from 'zod';

export const appConfigSchema = z.object({
services: z.array(
z.object({
name: z.string(),
image: z.string(),
internalPort: z.number().min(1).max(65535),
isMain: z.boolean().optional(),
command: z.string().optional(),
// eg: /path/to/volume:/path/in/container
volumes: z.array(
z.object({
hostPath: z.string().regex(/^\/.+/),
containerPath: z.string().regex(/^\/.+/),
}),
),
environment: z.record(z.string()).optional(),
healthCheck: z
.object({
test: z.string(),
// eg: 5s, 1m, 1h
interval: z.string().regex(/^\d+[smh]$/),
timeout: z.string().regex(/^\d+[smh]$/),
retries: z.number().min(0),
})
.optional(),
}),
),
});

export type AppConfig = z.input<typeof appConfigSchema>;
1 change: 1 addition & 0 deletions apps/__tests__/apps.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ interface AppConfig {
available: boolean;
form_fields?: FormField[];
supported_architectures: string[];
dynamic_config: boolean;
}

const networkExceptions = [
Expand Down
4 changes: 2 additions & 2 deletions apps/activepieces/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"exposable": true,
"id": "activepieces",
"description": "Your friendliest open source all-in-one automation tool.",
"tipi_version": 24,
"version": "0.25.1",
"tipi_version": 25,
"version": "0.26.1",
"categories": [
"automation"
],
Expand Down
2 changes: 1 addition & 1 deletion apps/activepieces/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: '3.7'
services:
activepieces:
image: activepieces/activepieces:0.25.1
image: activepieces/activepieces:0.26.1
container_name: activepieces
restart: unless-stopped
ports:
Expand Down
18 changes: 5 additions & 13 deletions apps/adguard/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,17 @@
"name": "Adguard",
"available": true,
"exposable": true,
"tipi_version": 28,
"version": "0.107.48",
"tipi_version": 29,
"version": "0.107.50",
"port": 8104,
"id": "adguard",
"categories": [
"network",
"security"
],
"categories": ["network", "security"],
"description": "Adguard is the best way to get rid of annoying ads and online tracking and protect your computer from malware. Make your web surfing fast, safe and ad-free.",
"short_desc": "World's most advanced adblocker!",
"author": "AdguardTeam",
"source": "https://github.com/AdguardTeam",
"requirements": {
"ports": [
53
]
"ports": [53]
},
"form_fields": [
{
Expand All @@ -28,8 +23,5 @@
"env_variable": "NETWORK_INTERFACE"
}
],
"supported_architectures": [
"arm64",
"amd64"
]
"supported_architectures": ["arm64", "amd64"]
}
2 changes: 1 addition & 1 deletion apps/adguard/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: "3.7"
services:
adguard:
image: adguard/adguardhome:v0.107.48
image: adguard/adguardhome:v0.107.50
container_name: adguard
volumes:
- "${APP_DATA_DIR}/data/work:/opt/adguardhome/work"
Expand Down
Binary file modified apps/affine/metadata/logo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 4 additions & 9 deletions apps/archivebox/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@
"exposable": true,
"port": 8015,
"id": "archivebox",
"tipi_version": 4,
"version": "0.7.4",
"categories": [
"media"
],
"tipi_version": 3,
"version": "0.7.2",
"categories": ["media"],
"description": "ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view websites offline.",
"short_desc": "Open source self-hosted web archiving.",
"author": "archivebox",
Expand All @@ -33,8 +31,5 @@
"env_variable": "ARCHIVEBOX_PASSWORD"
}
],
"supported_architectures": [
"arm64",
"amd64"
]
"supported_architectures": ["arm64", "amd64"]
}
2 changes: 1 addition & 1 deletion apps/archivebox/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
archivebox:
image: archivebox/archivebox:0.7.4
image: archivebox/archivebox:0.7.2
restart: unless-stopped
container_name: archivebox
command: server --quick-init 0.0.0.0:8015
Expand Down
13 changes: 4 additions & 9 deletions apps/authentik/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@
"available": true,
"exposable": true,
"id": "authentik",
"tipi_version": 13,
"version": "2024.4.1",
"tipi_version": 16,
"version": "2024.4.2",
"https": true,
"categories": [
"development"
],
"categories": ["development"],
"description": "The authentication glue you need.",
"short_desc": "The authentication glue you need.",
"author": "goauthentik",
Expand All @@ -29,8 +27,5 @@
"env_variable": "AUTHENTIK_SECRET_KEY"
}
],
"supported_architectures": [
"arm64",
"amd64"
]
"supported_architectures": ["arm64", "amd64"]
}
4 changes: 2 additions & 2 deletions apps/authentik/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: "3.7"

services:
authentik:
image: ghcr.io/goauthentik/server:2024.4.1
image: ghcr.io/goauthentik/server:2024.4.2
restart: unless-stopped
command: server
container_name: authentik
Expand Down Expand Up @@ -49,7 +49,7 @@ services:
traefik.http.routers.authentik-local.service: authentik
traefik.http.routers.authentik-local.tls: true
authentik-worker:
image: ghcr.io/goauthentik/server:2024.4.1
image: ghcr.io/goauthentik/server:2024.4.2
restart: unless-stopped
command: worker
container_name: authentik-worker
Expand Down
23 changes: 23 additions & 0 deletions apps/autobrr/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"$schema": "../schema.json",
"name": "autobrr",
"port": 8158,
"available": true,
"exposable": true,
"id": "autobrr",
"tipi_version": 27,
"version": "1.42.0",
"categories": [
"media"
],
"description": "autobrr is the modern download automation tool for torrents. With inspiration and ideas from tools like trackarr, autodl-irssi and flexget we built one tool that can do it all, and then some.",
"short_desc": "Automation for downloads.",
"author": "autobrr",
"source": "https://github.com/autobrr/autobrr",
"website": "https://autobrr.com/",
"form_fields": [],
"supported_architectures": [
"arm64",
"amd64"
]
}
41 changes: 41 additions & 0 deletions apps/autobrr/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
version: "3"

services:
autobrr:
container_name: autobrr
image: ghcr.io/autobrr/autobrr:v1.42.0
restart: unless-stopped
ports:
- ${APP_PORT}:7474
volumes:
- ${APP_DATA_DIR}/data/autobrr:/config
user: "1000:1000"
environment:
- TZ=${TZ}
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.autobrr-web-redirect.redirectscheme.scheme: https
traefik.http.services.autobrr.loadbalancer.server.port: 7474
# Web
traefik.http.routers.autobrr-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.autobrr-insecure.entrypoints: web
traefik.http.routers.autobrr-insecure.service: autobrr
traefik.http.routers.autobrr-insecure.middlewares: autobrr-web-redirect
# Websecure
traefik.http.routers.autobrr.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.autobrr.entrypoints: websecure
traefik.http.routers.autobrr.service: autobrr
traefik.http.routers.autobrr.tls.certresolver: myresolver
# Local domain
traefik.http.routers.autobrr-local-insecure.rule: Host(`autobrr.${LOCAL_DOMAIN}`)
traefik.http.routers.autobrr-local-insecure.entrypoints: web
traefik.http.routers.autobrr-local-insecure.service: autobrr
traefik.http.routers.autobrr-local-insecure.middlewares: autobrr-web-redirect
# Local domain secure
traefik.http.routers.autobrr-local.rule: Host(`autobrr.${LOCAL_DOMAIN}`)
traefik.http.routers.autobrr-local.entrypoints: websecure
traefik.http.routers.autobrr-local.service: autobrr
traefik.http.routers.autobrr-local.tls: true
49 changes: 49 additions & 0 deletions apps/autobrr/metadata/description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
autobrr is the modern download automation tool for torrents. With inspiration and ideas from tools like trackarr, autodl-irssi and flexget we built one tool that can do it all, and then some.

[![autobrr ui](https://github.com/autobrr/autobrr/raw/develop/.github/images/autobrr-front.png)](https://github.com/autobrr/autobrr/blob/develop/.github/images/autobrr-front.png)

## [](https://github.com/autobrr/autobrr#documentation)Documentation

Installation guide and documentation can be found at [https://autobrr.com](https://autobrr.com)

## [](https://github.com/autobrr/autobrr#key-features)Key features

- Support for 60+ trackers with IRC announces
- Torznab/RSS support via Prowlarr to easily get access to hundreds of trackers
- Powerful but simple filtering with RegEx support (like in autodl-irssi)
- Easy to use and mobile friendly web UI (with dark mode!) to manage everything
- Built on Go and React making autobrr lightweight and perfect for supporting multiple platforms (Linux, FreeBSD, Windows, macOS) on different architectures (e.g. x86, ARM)
- Great container support (Docker, k8s/Kubernetes)
- Database engine supporting both PostgreSQL and SQLite
- Notifications (Discord, Telegram, Notifiarr)
- One autobrr instance can communicate with multiple clients (both torrent and \*arr) on remote servers
- Base path / Subfolder (and subdomain) support for convenient reverse-proxy support

Available download clients and actions

- qBittorrent (with built in re-announce, categories, rules, max active downloads, etc)
- Deluge v1+ and v2+
- rTorrent
- Transmission
- Sonarr, Radarr, Lidarr, Whisparr and Readarr (pushes releases directly to them and gets in the early swarm, instead of getting them via RSS when it's already over)
- Watch folder
- Exec custom scripts
- Webhook

## [](https://github.com/autobrr/autobrr#what-is-autobrr-and-how-does-it-fit-into-the-ecosystem)What is autobrr and how does it fit into the ecosystem?

We can start by talking about torrent trackers (hereby referred to as indexers) and maintaining ratio. You are required to maintain a ratio with most indexers. Ratio is built by seeding your torrents. The earlier you're seeding a torrent, the more peers you make yourself available to on that torrent.

Software like Radarr and Sonarr utilizes RSS to look for new torrents. RSS feeds are updated regularly, but too slow to let you be a part of what we call the initial swarm of a torrent. This is were autobrr comes into play.

Many indexers announce new torrents on their IRC channels the second it is uploaded to the site. autobrr monitors such channels in real time and grabs the torrent file as soon as it's uploaded based on certain conditions (hereby referred to as filters) that you set up within autobrr. It then sends that torrent file to a download client of your choice via an action set within the filter. A download client can be anything from qBittorrent and Deluge, to Radarr and Sonarr, or a watch folder.

When your autobrr filter is set to send the torrent files to Radarr and Sonarr, they will decide if it's something they want, and then forward it to the torrent client they are set up with.

autobrr can also send matches (torrent files that meets your filter's criteria) directly to torrent clients like qBittorrent, Deluge, r(u)Torrent and Transmission. You don't need to use the \*arr suite to make use of autobrr.

### [](https://github.com/autobrr/autobrr#rss-support-for-indexers-without-an-irc-announcer)RSS support for indexers without an IRC announcer

A lot of indexers do not announce new torrents in an IRC channel. You can still make use of these indexers with autobrr since it has built in support for feeds as well. Both torznab and regular RSS is supported. RSS indexers are treated the same way as regular indexers within autobrr.

This isn't needed if your usecase is feeding the \*arrs only. Since they have RSS support already.
Binary file added apps/autobrr/metadata/logo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions apps/barrage/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"$schema": "../schema.json",
"name": "Barrage",
"port": 8145,
"available": true,
"exposable": true,
"id": "barrage",
"tipi_version": 3,
"version": "0.3.0",
"categories": ["utilities"],
"description": "Minimal Deluge WebUI with full mobile support",
"short_desc": "Minimal Deluge WebUI with full mobile support",
"author": "https://github.com/maulik9898",
"source": "https://github.com/maulik9898/barrage",
"form_fields": [
{
"type": "random",
"label": "NEXTAUTH_SECRET",
"min": 32,
"env_variable": "NEXTAUTH_SECRET"
},
{
"type": "text",
"label": "Deluge URL",
"hint": "URL of your deluge client",
"required": true,
"env_variable": "DELUGE_URL"
},
{
"type": "text",
"label": "Deluge password",
"required": true,
"env_variable": "DELUGE_PASSWORD"
},
{
"type": "password",
"label": "Barrage password",
"max": 50,
"min": 3,
"required": true,
"env_variable": "BARRAGE_PASSWORD"
}
],
"supported_architectures": ["arm64", "amd64"]
}
Loading

0 comments on commit 0c8b1d9

Please sign in to comment.