diff --git a/README.md b/README.md index 64304bf2..92648714 100644 --- a/README.md +++ b/README.md @@ -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) - [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 +- [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 - [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 diff --git a/apps/immich/config.json b/apps/immich/config.json index 9b10f586..9ad3eb9d 100644 --- a/apps/immich/config.json +++ b/apps/immich/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8128, "id": "immich", - "tipi_version": 33, - "version": "1.72.2", + "tipi_version": 34, + "version": "1.73.0", "categories": [ "data", "photography" diff --git a/apps/immich/docker-compose.yml b/apps/immich/docker-compose.yml index 34fd2417..73248a35 100644 --- a/apps/immich/docker-compose.yml +++ b/apps/immich/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: immich: container_name: immich - image: altran1502/immich-proxy:v1.72.2 + image: altran1502/immich-proxy:v1.73.0 ports: - ${APP_PORT}:8080 depends_on: @@ -43,7 +43,7 @@ services: immich-server: container_name: immich-server - image: altran1502/immich-server:v1.72.2 + image: altran1502/immich-server:v1.73.0 command: ["start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -68,7 +68,7 @@ services: immich-microservices: container_name: immich-microservices - image: altran1502/immich-server:v1.72.2 + image: altran1502/immich-server:v1.73.0 command: ["start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload @@ -93,7 +93,7 @@ services: 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: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload - ${APP_DATA_DIR}/data/immich-ml-cache:/cache @@ -114,7 +114,7 @@ services: immich-web: container_name: immich-web - image: altran1502/immich-web:v1.72.2 + image: altran1502/immich-web:v1.73.0 restart: unless-stopped networks: - tipi_main_network diff --git a/apps/jackett/config.json b/apps/jackett/config.json index 4286859a..910300f2 100644 --- a/apps/jackett/config.json +++ b/apps/jackett/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8097, "id": "jackett", - "tipi_version": 68, - "version": "0.21.637", + "tipi_version": 70, + "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.", "short_desc": "API Support for your favorite torrent trackers ", "categories": [ diff --git a/apps/jackett/docker-compose.yml b/apps/jackett/docker-compose.yml index b56f51aa..72c2a283 100644 --- a/apps/jackett/docker-compose.yml +++ b/apps/jackett/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: jackett: - image: lscr.io/linuxserver/jackett:0.21.637 + image: lscr.io/linuxserver/jackett:0.21.648 container_name: jackett environment: - PUID=1000 diff --git a/apps/memos/config.json b/apps/memos/config.json index fafd624f..eda27bb2 100644 --- a/apps/memos/config.json +++ b/apps/memos/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 5230, "id": "memos", - "tipi_version": 12, - "version": "0.14.3", + "tipi_version": 13, + "version": "0.14.4", "categories": [ "utilities" ], diff --git a/apps/memos/docker-compose.yml b/apps/memos/docker-compose.yml index 3c8248db..0b9243d9 100644 --- a/apps/memos/docker-compose.yml +++ b/apps/memos/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: memos: - image: neosmemo/memos:0.14.3 + image: neosmemo/memos:0.14.4 container_name: memos volumes: - ${APP_DATA_DIR}/memos:/var/opt/memos diff --git a/apps/mixpost/config.json b/apps/mixpost/config.json index 223136a7..78224e16 100644 --- a/apps/mixpost/config.json +++ b/apps/mixpost/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "mixpost", - "tipi_version": 6, - "version": "1.3.1", + "tipi_version": 7, + "version": "1.3.2", "categories": [ "social" ], diff --git a/apps/mixpost/docker-compose.yml b/apps/mixpost/docker-compose.yml index 6b0fc33a..4345b035 100644 --- a/apps/mixpost/docker-compose.yml +++ b/apps/mixpost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: mixpost: - image: inovector/mixpost:v1.3.1 + image: inovector/mixpost:v1.3.2 container_name: mixpost environment: - APP_NAME='Mixpost' diff --git a/apps/nocodb/config.json b/apps/nocodb/config.json index 2b997447..60a938f2 100644 --- a/apps/nocodb/config.json +++ b/apps/nocodb/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "nocodb", - "tipi_version": 17, - "version": "0.109.6", + "tipi_version": 18, + "version": "0.109.7", "categories": [ "utilities" ], diff --git a/apps/nocodb/docker-compose.yml b/apps/nocodb/docker-compose.yml index 407bc1a4..7f09d20a 100644 --- a/apps/nocodb/docker-compose.yml +++ b/apps/nocodb/docker-compose.yml @@ -11,7 +11,7 @@ services: - NC_PUBLIC_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} - NC_AUTH_JWT_SECRET=${NOCODB_JWT_SECRET} - NC_REDIS_URL=redis://default:${NOCODB_REDIS_PASSWORD}@nocodb-redis:6379 - image: "nocodb/nocodb:0.109.6" + image: "nocodb/nocodb:0.109.7" ports: - "${APP_PORT}:8080" restart: always diff --git a/apps/onedev/config.json b/apps/onedev/config.json index 23fc585e..9c2df9b4 100644 --- a/apps/onedev/config.json +++ b/apps/onedev/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "onedev", - "tipi_version": 45, - "version": "8.6.11", + "tipi_version": 46, + "version": "8.6.12", "categories": [ "development" ], diff --git a/apps/onedev/docker-compose.yml b/apps/onedev/docker-compose.yml index ba69c875..39c35521 100644 --- a/apps/onedev/docker-compose.yml +++ b/apps/onedev/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: onedev: - image: 1dev/server:8.6.11 + image: 1dev/server:8.6.12 container_name: onedev environment: - hibernate_dialect=io.onedev.server.persistence.PostgreSQLDialect diff --git a/apps/planka/config.json b/apps/planka/config.json index 8c459e22..32b0d469 100644 --- a/apps/planka/config.json +++ b/apps/planka/config.json @@ -5,7 +5,7 @@ "available": true, "exposable": true, "id": "planka", - "tipi_version": 1, + "tipi_version": 2, "version": "1.12.0", "categories": ["development"], "description": "The realtime kanban board for workgroups built with React and Redux.", diff --git a/apps/planka/docker-compose.yml b/apps/planka/docker-compose.yml index 51b60b8e..cfcf4bd0 100644 --- a/apps/planka/docker-compose.yml +++ b/apps/planka/docker-compose.yml @@ -20,17 +20,17 @@ services: ports: - ${APP_PORT}:1337 environment: - BASE_URL: ${APP_PROTOCOL:-http}://${APP_DOMAIN} - TRUST_PROXY: 1 - DATABASE_URL: "postgresql://postgres@postgres/planka" - SECRET_KEY: "${PLANKA_SECRET_KEY}" + - BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} + - TRUST_PROXY=1 + - DATABASE_URL="postgresql://postgres@postgres/planka" + - SECRET_KEY="${PLANKA_SECRET_KEY}" networks: - tipi_main_network labels: # Main traefik.enable: true 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 traefik.http.routers.planka-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.planka-insecure.entrypoints: web diff --git a/apps/radarr/config.json b/apps/radarr/config.json index a9dac0e6..0fabdf4a 100644 --- a/apps/radarr/config.json +++ b/apps/radarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8088, "id": "radarr", - "tipi_version": 8, - "version": "4.6.4", + "tipi_version": 9, + "version": "4.7.5", "categories": [ "media", "utilities" diff --git a/apps/radarr/docker-compose.yml b/apps/radarr/docker-compose.yml index a3e4ba68..7a2bd728 100644 --- a/apps/radarr/docker-compose.yml +++ b/apps/radarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: radarr: - image: lscr.io/linuxserver/radarr:4.6.4 + image: lscr.io/linuxserver/radarr:4.7.5 container_name: radarr environment: - PUID=1000 diff --git a/apps/sshwifty/config.json b/apps/sshwifty/config.json index 63ae26c6..a671c13d 100644 --- a/apps/sshwifty/config.json +++ b/apps/sshwifty/config.json @@ -5,11 +5,9 @@ "available": true, "exposable": true, "id": "sshwifty", - "tipi_version": 2, + "tipi_version": 3, "version": "0.3.0-beta-release", - "categories": [ - "development" - ], + "categories": ["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.", "short_desc": "Web SSH & Telnet (WebSSH & WebTelnet client)", "author": "Nirui", diff --git a/apps/sshwifty/docker-compose.yml b/apps/sshwifty/docker-compose.yml index 3406f0cf..ba9f4f67 100644 --- a/apps/sshwifty/docker-compose.yml +++ b/apps/sshwifty/docker-compose.yml @@ -13,7 +13,7 @@ services: # Main traefik.enable: true 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 traefik.http.routers.sshwifty-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.sshwifty-insecure.entrypoints: web diff --git a/apps/tandoor/config.json b/apps/tandoor/config.json new file mode 100644 index 00000000..731be5c4 --- /dev/null +++ b/apps/tandoor/config.json @@ -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" + } + ] +} diff --git a/apps/tandoor/docker-compose.yml b/apps/tandoor/docker-compose.yml new file mode 100644 index 00000000..f729f8dd --- /dev/null +++ b/apps/tandoor/docker-compose.yml @@ -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 diff --git a/apps/tandoor/metadata/description.md b/apps/tandoor/metadata/description.md new file mode 100644 index 00000000..49a2ae66 --- /dev/null +++ b/apps/tandoor/metadata/description.md @@ -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/). \ No newline at end of file diff --git a/apps/tandoor/metadata/logo.jpg b/apps/tandoor/metadata/logo.jpg new file mode 100644 index 00000000..bc5f5afc Binary files /dev/null and b/apps/tandoor/metadata/logo.jpg differ