Merge branch 'steveiliop56-master'
This commit is contained in:
commit
01b166d70e
|
@ -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
|
||||||
|
|
|
@ -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.",
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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
30
apps/tandoor/config.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
75
apps/tandoor/docker-compose.yml
Normal file
75
apps/tandoor/docker-compose.yml
Normal 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
|
36
apps/tandoor/metadata/description.md
Normal file
36
apps/tandoor/metadata/description.md
Normal 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/).
|
BIN
apps/tandoor/metadata/logo.jpg
Normal file
BIN
apps/tandoor/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
Loading…
Reference in New Issue
Block a user