Merge branch 'master' into add-ghostfolio

This commit is contained in:
Nicolas Meienberger 2023-08-15 20:24:20 +02:00 committed by GitHub
commit 23dc0b7117
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 177 additions and 36 deletions

View File

@ -120,6 +120,8 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Sshwifty](https://github.com/nirui/sshwifty/) - Web SSH & Telnet (WebSSH & WebTelnet client) - [Sshwifty](https://github.com/nirui/sshwifty/) - Web SSH & Telnet (WebSSH & WebTelnet client)
- [Syncthing](https://github.com/syncthing/syncthing) - Continuous File Synchronization - [Syncthing](https://github.com/syncthing/syncthing) - Continuous File Synchronization
- [Tailscale](https://github.com/tailscale/tailscale) - The easiest, most secure way to use WireGuard and 2FA - [Tailscale](https://github.com/tailscale/tailscale) - The easiest, most secure way to use WireGuard and 2FA
- [Tandoor](https://github.com/TandoorRecipes/recipes) - Drop your collection of links and notes. Get Tandoor and never look back onto a time without recipe management, storage, sharing and collaborative cooking!
- [Tasks.md](https://github.com/BaldissaraMatheus/Tasks.md) - A self-hosted, file based task management board that supports Markdown syntax
- [Tautulli](https://github.com/Tautulli/Tautulli) - A Python based monitoring and tracking tool for Plex Media Server - [Tautulli](https://github.com/Tautulli/Tautulli) - A Python based monitoring and tracking tool for Plex Media Server
- [Teddit](https://codeberg.org/teddit/teddit) - Alternative Reddit front-end focused on privacy https://teddit.net - [Teddit](https://codeberg.org/teddit/teddit) - Alternative Reddit front-end focused on privacy https://teddit.net
- [Transmission](https://github.com/transmission/transmission) - Fast, easy, and free BitTorrent client - [Transmission](https://github.com/transmission/transmission) - Fast, easy, and free BitTorrent client

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8128, "port": 8128,
"id": "immich", "id": "immich",
"tipi_version": 33, "tipi_version": 34,
"version": "1.72.2", "version": "1.73.0",
"categories": [ "categories": [
"data", "data",
"photography" "photography"

View File

@ -3,7 +3,7 @@ version: "3.7"
services: services:
immich: immich:
container_name: immich container_name: immich
image: altran1502/immich-proxy:v1.72.2 image: altran1502/immich-proxy:v1.73.0
ports: ports:
- ${APP_PORT}:8080 - ${APP_PORT}:8080
depends_on: depends_on:
@ -43,7 +43,7 @@ services:
immich-server: immich-server:
container_name: immich-server container_name: immich-server
image: altran1502/immich-server:v1.72.2 image: altran1502/immich-server:v1.73.0
command: ["start-server.sh"] command: ["start-server.sh"]
volumes: volumes:
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
@ -68,7 +68,7 @@ services:
immich-microservices: immich-microservices:
container_name: immich-microservices container_name: immich-microservices
image: altran1502/immich-server:v1.72.2 image: altran1502/immich-server:v1.73.0
command: ["start-microservices.sh"] command: ["start-microservices.sh"]
volumes: volumes:
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
@ -93,7 +93,7 @@ services:
immich-machine-learning: immich-machine-learning:
container_name: immich-machine-learning container_name: immich-machine-learning
image: altran1502/immich-machine-learning:v1.72.2 image: altran1502/immich-machine-learning:v1.73.0
volumes: volumes:
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
- ${APP_DATA_DIR}/data/immich-ml-cache:/cache - ${APP_DATA_DIR}/data/immich-ml-cache:/cache
@ -114,7 +114,7 @@ services:
immich-web: immich-web:
container_name: immich-web container_name: immich-web
image: altran1502/immich-web:v1.72.2 image: altran1502/immich-web:v1.73.0
restart: unless-stopped restart: unless-stopped
networks: networks:
- tipi_main_network - tipi_main_network

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8097, "port": 8097,
"id": "jackett", "id": "jackett",
"tipi_version": 68, "tipi_version": 70,
"version": "0.21.637", "version": "0.21.648",
"description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.", "description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.",
"short_desc": "API Support for your favorite torrent trackers ", "short_desc": "API Support for your favorite torrent trackers ",
"categories": [ "categories": [

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
jackett: jackett:
image: lscr.io/linuxserver/jackett:0.21.637 image: lscr.io/linuxserver/jackett:0.21.648
container_name: jackett container_name: jackett
environment: environment:
- PUID=1000 - PUID=1000

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 5230, "port": 5230,
"id": "memos", "id": "memos",
"tipi_version": 12, "tipi_version": 13,
"version": "0.14.3", "version": "0.14.4",
"categories": [ "categories": [
"utilities" "utilities"
], ],

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
memos: memos:
image: neosmemo/memos:0.14.3 image: neosmemo/memos:0.14.4
container_name: memos container_name: memos
volumes: volumes:
- ${APP_DATA_DIR}/memos:/var/opt/memos - ${APP_DATA_DIR}/memos:/var/opt/memos

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "mixpost", "id": "mixpost",
"tipi_version": 6, "tipi_version": 7,
"version": "1.3.1", "version": "1.3.2",
"categories": [ "categories": [
"social" "social"
], ],

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
mixpost: mixpost:
image: inovector/mixpost:v1.3.1 image: inovector/mixpost:v1.3.2
container_name: mixpost container_name: mixpost
environment: environment:
- APP_NAME='Mixpost' - APP_NAME='Mixpost'

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "nocodb", "id": "nocodb",
"tipi_version": 17, "tipi_version": 18,
"version": "0.109.6", "version": "0.109.7",
"categories": [ "categories": [
"utilities" "utilities"
], ],

View File

@ -11,7 +11,7 @@ services:
- NC_PUBLIC_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - NC_PUBLIC_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
- NC_AUTH_JWT_SECRET=${NOCODB_JWT_SECRET} - NC_AUTH_JWT_SECRET=${NOCODB_JWT_SECRET}
- NC_REDIS_URL=redis://default:${NOCODB_REDIS_PASSWORD}@nocodb-redis:6379 - NC_REDIS_URL=redis://default:${NOCODB_REDIS_PASSWORD}@nocodb-redis:6379
image: "nocodb/nocodb:0.109.6" image: "nocodb/nocodb:0.109.7"
ports: ports:
- "${APP_PORT}:8080" - "${APP_PORT}:8080"
restart: always restart: always

View File

@ -5,8 +5,8 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "onedev", "id": "onedev",
"tipi_version": 45, "tipi_version": 46,
"version": "8.6.11", "version": "8.6.12",
"categories": [ "categories": [
"development" "development"
], ],

View File

@ -2,7 +2,7 @@ version: "3.7"
services: services:
onedev: onedev:
image: 1dev/server:8.6.11 image: 1dev/server:8.6.12
container_name: onedev container_name: onedev
environment: environment:
- hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect

View File

@ -5,7 +5,7 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "planka", "id": "planka",
"tipi_version": 1, "tipi_version": 2,
"version": "1.12.0", "version": "1.12.0",
"categories": ["development"], "categories": ["development"],
"description": "The realtime kanban board for workgroups built with React and Redux.", "description": "The realtime kanban board for workgroups built with React and Redux.",

View File

@ -20,17 +20,17 @@ services:
ports: ports:
- ${APP_PORT}:1337 - ${APP_PORT}:1337
environment: environment:
BASE_URL: ${APP_PROTOCOL:-http}://${APP_DOMAIN} - BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
TRUST_PROXY: 1 - TRUST_PROXY=1
DATABASE_URL: "postgresql://postgres@postgres/planka" - DATABASE_URL="postgresql://postgres@postgres/planka"
SECRET_KEY: "${PLANKA_SECRET_KEY}" - SECRET_KEY="${PLANKA_SECRET_KEY}"
networks: networks:
- tipi_main_network - tipi_main_network
labels: labels:
# Main # Main
traefik.enable: true traefik.enable: true
traefik.http.middlewares.planka-web-redirect.redirectscheme.scheme: https traefik.http.middlewares.planka-web-redirect.redirectscheme.scheme: https
traefik.http.services.planka.loadbalancer.server.port: 8016 traefik.http.services.planka.loadbalancer.server.port: 1337
# Web # Web
traefik.http.routers.planka-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.planka-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.planka-insecure.entrypoints: web traefik.http.routers.planka-insecure.entrypoints: web

View File

@ -5,8 +5,8 @@
"exposable": true, "exposable": true,
"port": 8088, "port": 8088,
"id": "radarr", "id": "radarr",
"tipi_version": 8, "tipi_version": 9,
"version": "4.6.4", "version": "4.7.5",
"categories": [ "categories": [
"media", "media",
"utilities" "utilities"

View File

@ -1,7 +1,7 @@
version: "3.7" version: "3.7"
services: services:
radarr: radarr:
image: lscr.io/linuxserver/radarr:4.6.4 image: lscr.io/linuxserver/radarr:4.7.5
container_name: radarr container_name: radarr
environment: environment:
- PUID=1000 - PUID=1000

View File

@ -5,11 +5,9 @@
"available": true, "available": true,
"exposable": true, "exposable": true,
"id": "sshwifty", "id": "sshwifty",
"tipi_version": 2, "tipi_version": 3,
"version": "0.3.0-beta-release", "version": "0.3.0-beta-release",
"categories": [ "categories": ["development"],
"development"
],
"description": "Sshwifty is a SSH and Telnet connector made for the Web. It can be deployed on your computer or server to provide SSH and Telnet access interface for any compatible (standard) web browser.", "description": "Sshwifty is a SSH and Telnet connector made for the Web. It can be deployed on your computer or server to provide SSH and Telnet access interface for any compatible (standard) web browser.",
"short_desc": "Web SSH & Telnet (WebSSH & WebTelnet client)", "short_desc": "Web SSH & Telnet (WebSSH & WebTelnet client)",
"author": "Nirui", "author": "Nirui",

View File

@ -13,7 +13,7 @@ services:
# Main # Main
traefik.enable: true traefik.enable: true
traefik.http.middlewares.sshwifty-web-redirect.redirectscheme.scheme: https traefik.http.middlewares.sshwifty-web-redirect.redirectscheme.scheme: https
traefik.http.services.sshwifty.loadbalancer.server.port: 8273 traefik.http.services.sshwifty.loadbalancer.server.port: 8182
# Web # Web
traefik.http.routers.sshwifty-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.sshwifty-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.sshwifty-insecure.entrypoints: web traefik.http.routers.sshwifty-insecure.entrypoints: web

30
apps/tandoor/config.json Normal file
View File

@ -0,0 +1,30 @@
{
"$schema": "../schema.json",
"name": "Tandoor",
"port": 8341,
"available": true,
"exposable": true,
"id": "tandoor",
"tipi_version": 1,
"version": "1.5.4",
"categories": ["data"],
"description": "Drop your collection of links and notes. Get Tandoor and never look back onto a time without recipe management, storage, sharing and collaborative cooking!",
"short_desc": "Recipe collection manager.",
"author": "Tandoor Recipes",
"source": "https://github.com/TandoorRecipes/recipes",
"website": "https://tandoor.dev/",
"form_fields": [
{
"type": "random",
"label": "Tandoor Secret Key",
"min": 32,
"env_variable": "TANDOOR_SECRET_KEY"
},
{
"type": "random",
"label": "Postgress Password",
"min": 32,
"env_variable": "TANDOOR_POSTGRESS_PASSWORD"
}
]
}

View File

@ -0,0 +1,75 @@
version: "3.7"
services:
tandoor:
container_name: tandoor
image: ghcr.io/tandoorrecipes/recipes:1.5.4
volumes:
- ${APP_DATA_DIR}/data/staticfiles:/opt/recipes/staticfiles
- ${APP_DATA_DIR}/data/mediafiles:/opt/recipes/mediafiles
ports:
- ${APP_PORT}:8080
environment:
- SECRET_KEY=${TANDOOR_SECRET_KEY}
- DB_ENGINE=django.db.backends.postgresql
- POSTGRES_HOST=tandoor-db
- POSTGRES_PORT=5432
- POSTGRES_USER=tandoor
- POSTGRES_PASSWORD=${TANDOOR_POSTGRESS_PASSWORD}
- POSTGRES_DB=tandoordb
networks:
- tipi_main_network
restart: unless-stopped
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8080
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
labels:
# Main
traefik.enable: true
traefik.http.middlewares.tandoor-web-redirect.redirectscheme.scheme: https
traefik.http.services.tandoor.loadbalancer.server.port: 8080
# Web
traefik.http.routers.tandoor-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.tandoor-insecure.entrypoints: web
traefik.http.routers.tandoor-insecure.service: tandoor
traefik.http.routers.tandoor-insecure.middlewares: tandoor-web-redirect
# Websecure
traefik.http.routers.tandoor.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.tandoor.entrypoints: websecure
traefik.http.routers.tandoor.service: tandoor
traefik.http.routers.tandoor.tls.certresolver: myresolver
# Local domain
traefik.http.routers.tandoor-local-insecure.rule: Host(`tandoor.${LOCAL_DOMAIN}`)
traefik.http.routers.tandoor-local-insecure.entrypoints: web
traefik.http.routers.tandoor-local-insecure.service: tandoor
traefik.http.routers.tandoor-local-insecure.middlewares: tandoor-web-redirect
# Local domain secure
traefik.http.routers.tandoor-local.rule: Host(`tandoor.${LOCAL_DOMAIN}`)
traefik.http.routers.tandoor-local.entrypoints: websecure
traefik.http.routers.tandoor-local.service: tandoor
traefik.http.routers.tandoor-local.tls: true
depends_on:
tandoor-db:
condition: service_healthy
tandoor-db:
image: postgres:15-alpine
container_name: tandoor-db
volumes:
- ${APP_DATA_DIR}/data/postgresql:/var/lib/postgresql/data
environment:
- POSTGRES_PORT=5432
- POSTGRES_USER=tandoor
- POSTGRES_PASSWORD=${TANDOOR_POSTGRESS_PASSWORD}
- POSTGRES_DB=tandoordb
restart: unless-stopped
networks:
- tipi_main_network
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "tandoor"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s

View File

@ -0,0 +1,36 @@
# Tandoor Recipes
The recipe manager that allows you to manage your ever growing collection of digital recipes.
## Core Features
- 🥗 **Manage your recipes** - Manage your ever growing recipe collection
- 📆 **Plan** - multiple meals for each day
- 🛒 **Shopping lists** - via the meal plan or straight from recipes
- 📚 **Cookbooks** - collect recipes into books
- 👪 **Share and collaborate** on recipes with friends and family
## Made by and for power users
- 🔍 Powerful & customizable **search** with fulltext support and [TrigramSimilarity](https://docs.djangoproject.com/en/3.0/ref/contrib/postgres/search/#trigram-similarity)
- 🏷️ Create and search for **tags**, assign them in batch to all files matching certain filters
- ↔️ Quickly merge and rename ingredients, tags and units
- 📥️ **Import recipes** from thousands of websites supporting [ld+json or microdata](https://schema.org/Recipe)
- ➗ Support for **fractions** or decimals
- 🐳 Easy setup with **Docker** and included examples for **Kubernetes**, **Unraid** and **Synology**
- 🎨 Customize your interface with **themes**
- 📦 **Sync** files with Dropbox and Nextcloud
## All the must haves
- 📱Optimized for use on **mobile** devices
- 🌍 localized in many languages thanks to the awesome community
- 📥️ **Import your collection** from many other [recipe managers](https://docs.tandoor.dev/features/import_export/)
- Many more like recipe scaling, image compression, printing views and supermarkets
This application is meant for people with a collection of recipes they want to share with family and friends or simply
store them in a nicely organized way. A basic permission system exists but this application is not meant to be run as
a public page.
## Docs
Documentation can be found [here](https://docs.tandoor.dev/).

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB